Idom.num3PEstd.tetra {pcds} | R Documentation |
The indicator for three 3D points constituting a dominating set for Proportional Edge Proximity Catch Digraphs (PE-PCDs) - standard regular tetrahedron case
Description
Returns I(\{
p1,p2,pt3
} is a dominating set of the PE-PCD)
where the vertices of the PE-PCD are the 3D data set Xp
in the standard regular
tetrahedron T_h=T((0,0,0),(1,0,0),(1/2,\sqrt{3}/2,0),(1/2,\sqrt{3}/6,\sqrt{6}/3))
, that is,
returns 1 if {p1,p2,pt3
} is a dominating set of PE-PCD, returns 0 otherwise.
Point, p1
, is in the region of vertex rv1
(default is NULL
), point, p2
, is in the region of vertex rv2
(default is NULL
); point, pt3
), is in the region of vertex rv3
) (default is NULL
); vertices (and hence rv1, rv2
and
rv3
) are labeled as 1,2,3,4
in the order they are stacked row-wise in T_h
.
PE proximity region is constructed with
respect to the tetrahedron T_h
with expansion parameter r \ge 1
and vertex regions are based on center of mass CM
(equivalent to circumcenter in this case).
ch.data.pnts
is for checking whether points p1
, p2
and pt3
are all data points in Xp
or not (default is FALSE
),
so by default this function checks whether the points p1
, p2
and pt3
would constitute a dominating set
if they actually were all in the data set.
See also (Ceyhan (2005, 2010)).
Usage
Idom.num3PEstd.tetra(
p1,
p2,
pt3,
Xp,
r,
rv1 = NULL,
rv2 = NULL,
rv3 = NULL,
ch.data.pnts = FALSE
)
Arguments
p1 , p2 , pt3 |
Three 3D points to be tested for constituting a dominating set of the PE-PCD. |
Xp |
A set of 3D points which constitutes the vertices of the PE-PCD. |
r |
A positive real number which serves as the expansion parameter in PE proximity region;
must be |
rv1 , rv2 , rv3 |
The indices of the vertices whose regions contains |
ch.data.pnts |
A logical argument for checking whether points |
Value
I(\{
p1,p2,pt3
} is a dominating set of the PE-PCD)
where the vertices of the PE-PCD are the 3D data set Xp
),
that is, returns 1 if {p1,p2,pt3
} is a dominating set of PE-PCD, returns 0 otherwise
Author(s)
Elvan Ceyhan
References
Ceyhan E (2005).
An Investigation of Proximity Catch Digraphs in Delaunay Tessellations, also available as technical monograph titled Proximity Catch Digraphs: Auxiliary Tools, Properties, and Applications.
Ph.D. thesis, The Johns Hopkins University, Baltimore, MD, 21218.
Ceyhan E (2010).
“Extension of One-Dimensional Proximity Regions to Higher Dimensions.”
Computational Geometry: Theory and Applications, 43(9), 721-748.
See Also
Examples
set.seed(123)
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)
tetra<-rbind(A,B,C,D)
n<-5 #try 20, 40, 100 (larger n may take a long time)
Xp<-runif.std.tetra(n)$g #try also Xp<-cbind(runif(n),runif(n),runif(n))
r<-1.25
Idom.num3PEstd.tetra(Xp[1,],Xp[2,],Xp[3,],Xp,r)
ind.gam3<-vector()
for (i in 1:(n-2))
for (j in (i+1):(n-1))
for (k in (j+1):n)
{if (Idom.num3PEstd.tetra(Xp[i,],Xp[j,],Xp[k,],Xp,r)==1)
ind.gam3<-rbind(ind.gam3,c(i,j,k))}
ind.gam3
#or try
rv1<-rel.vert.tetraCC(Xp[1,],tetra)$rv; rv2<-rel.vert.tetraCC(Xp[2,],tetra)$rv;
rv3<-rel.vert.tetraCC(Xp[3,],tetra)$rv
Idom.num3PEstd.tetra(Xp[1,],Xp[2,],Xp[3,],Xp,r,rv1,rv2,rv3)
#or try
rv1<-rel.vert.tetraCC(Xp[1,],tetra)$rv;
Idom.num3PEstd.tetra(Xp[1,],Xp[2,],Xp[3,],Xp,r,rv1)
#or try
rv2<-rel.vert.tetraCC(Xp[2,],tetra)$rv
Idom.num3PEstd.tetra(Xp[1,],Xp[2,],Xp[3,],Xp,r,rv2=rv2)
P1<-c(.1,.1,.1)
P2<-c(.3,.3,.3)
P3<-c(.4,.1,.2)
Idom.num3PEstd.tetra(P1,P2,P3,Xp,r)
Idom.num3PEstd.tetra(Xp[1,],c(1,1,1),Xp[3,],Xp,r,ch.data.pnts = FALSE)
#gives an error message if ch.data.pnts = TRUE since not all points are data points in Xp