NPEtetra: The vertices of the Proportional Edge (PE) Proximity Region...

View source: R/PropEdge3D.R

NPEtetraR Documentation

The vertices of the Proportional Edge (PE) Proximity Region in a tetrahedron

Description

Returns the vertices of the PE proximity region (which is itself a tetrahedron) for a point in the tetrahedron th.

PE proximity region is defined with respect to the tetrahedron th with expansion parameter r \ge 1 and vertex regions based on the center M which is circumcenter ("CC") or center of mass ("CM") of th with default="CM".

Vertex regions are labeled as 1,2,3,4 rowwise for the vertices of the tetrahedron th. rv is the index of the vertex region p resides, with default=NULL. If p is outside of th, it returns NULL for the proximity region.

See also (\insertCiteceyhan:Phd-thesis,ceyhan:comp-geo-2010;textualpcds).

Usage

NPEtetra(p, th, r, M = "CM", rv = NULL)

Arguments

p

A 3D point whose PE proximity region is to be computed.

th

A 4 \times 3 matrix with each row representing a vertex of the tetrahedron.

r

A positive real number which serves as the expansion parameter in PE proximity region; must be \ge 1.

M

The center to be used in the construction of the vertex regions in the tetrahedron, th. Currently it only takes "CC" for circumcenter and "CM" for center of mass; default="CM".

rv

Index of the vertex region containing the point, either 1,2,3,4 (default is NULL).

Value

Vertices of the tetrahedron which constitutes the PE proximity region with expansion parameter r and circumcenter (or center of mass) for a point p in the tetrahedron

Author(s)

Elvan Ceyhan

References

\insertAllCited

See Also

NPEstd.tetra, NPEtri and NPEint

Examples

## Not run: 
A<-c(0,0,0); B<-c(1,0,0); C<-c(1/2,sqrt(3)/2,0); D<-c(1/2,sqrt(3)/6,sqrt(6)/3)
set.seed(1)
tetra<-rbind(A,B,C,D)+matrix(runif(12,-.25,.25),ncol=3)
n<-3  #try also n<-20

Xp<-runif.tetra(n,tetra)$g

M<-"CM"  #try also M<-"CC"
r<-1.5

NPEtetra(Xp[1,],tetra,r)  #uses the default M="CM"
NPEtetra(Xp[1,],tetra,r,M="CC")

#or try
RV<-rel.vert.tetraCM(Xp[1,],tetra)$rv
NPEtetra(Xp[1,],tetra,r,M,rv=RV)

P1<-c(.1,.1,.1)
NPEtetra(P1,tetra,r,M)

## End(Not run)


elvanceyhan/pcds documentation built on June 29, 2023, 8:12 a.m.