I want to check whether a given point is also a member of the edges of a given conical hull.
For example, I have:
\[ScriptCapitalR] = ConicHullRegion[{0, 0, 0}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}},Transpose[{{1, 0}, {-1, 1}, {1, -1}}]];
The region is described symbolically as:
RegionMember[\[ScriptCapitalR], {x, y, z}]
This gives output (x | y | z) \[Element] Reals && -x <= 0 && -x - y <= 0 && y + z == 0
The region is thus:
My question is then, how do you check whether a vector, say {1,0,0}
, also belongs to one of the edges of the graph (i.e. lies in the boundary)?
I tried using:
\[ScriptCapitalS] = RegionBoundary[\[ScriptCapitalR]];
RegionMember[\[ScriptCapitalS], {1, 0, 0} ]
However, this gives me "True", as the boundary seems to be the same as the original region. I want it to strictly check for the edges, so want strict inclusion inside the region. I would expect such a method to give me false for the given vector above, because $1 \neq 0$.
Edit: Sorry I keep deleting/undeleting, I thought I had this resolved but I am still having issues.
Edit: This seems to be related to the problem of checking whether a 3D point lies within a planar polygon. I have looked at:
How to check if a 3D point is in a planar polygon?
However, I am still stuck on how I could potentially use this.
RegionBoundary
applied to a lower dimensional region will always return the same region (see the second bullet point in the Details section here). By boundary do you meanRegionUnion[HalfLine[{0, 0, 0}, {1, -1, 1}], HalfLine[{0, 0, 0}, {0, 1, -1}]]
? $\endgroup$