1
$\begingroup$

For an examplary plane polygon in space

p = {{-(2017/250), -(2553/250), -(53/20)}, {-(3929/500), -(1327/125), -(2629/1000)}, {-(7639/1000), -(5657/500), -(2211/1000)}, {-(1917/250), -(5657/500), -(1063/500)}, {-(1649/200), -(2553/250), -(87/40)}};
poly=Polygon[p]
Graphics3D[poly]

enter image description here

Mathematica won't evaluate Area

Area[poly]

enter image description here

How to get the numerical value of the area? Thanks!

$\endgroup$
7
  • 1
    $\begingroup$ Could CoplanarPoints[p] giving False be the reason? $\endgroup$
    – Syed
    Oct 19, 2023 at 10:42
  • 2
    $\begingroup$ RegionQ[poly] is False. We have to use poly // DiscretizeGraphics // Area. $\endgroup$
    – cvgmt
    Oct 19, 2023 at 10:44
  • $\begingroup$ @Syed Probably yes, thanks. I only checked the planarity visual $\endgroup$ Oct 19, 2023 at 10:44
  • $\begingroup$ @cvgmt Thanks, because Graphics3D[poly] works fine I didn't expect RegionQ[poly]==False $\endgroup$ Oct 19, 2023 at 10:47
  • 1
    $\begingroup$ My hand-waving hack is: (ConvexHullMesh[p] // SurfaceArea)/2 since (ConvexHullMesh[p] // Volume) is almost zero. $\endgroup$
    – Syed
    Oct 19, 2023 at 11:00

1 Answer 1

3
$\begingroup$
  • Just as @Syed have mention, the 5 points are not coplanar,we can also found this by
p = {{-(2017/250), -(2553/250), -(53/20)}, {-(3929/500), -(1327/
       125), -(2629/1000)}, {-(7639/1000), -(5657/500), -(2211/
       1000)}, {-(1917/250), -(5657/500), -(1063/500)}, {-(1649/
       200), -(2553/250), -(87/40)}};
MeshRegion[p, Polygon[Range@Length@p]]

MeshRegion::coplnr: The vertices in the polygon Polygon[{1,2,3,4,5}] are not coplanar.

  • This is must the main reason why RegionQ[Polygon@p] get False.
  • Up to now, besides of DiscretizeGraphics[Polygon@p], I can not found anothere way to see the structure of such polygon.
reg=DiscretizeGraphics[Polygon@p]
reg//Area

0.460609

  • We verify that the five points does not in the same plane. We construct a plane by the first three points p[[1]], p[[2]], p[[3]], and the distance of the remain points to such plane is positive means that p[[4]] and p[[5]] does not in such plane.
plane = InfinitePlane[{p[[1]], p[[2]], p[[3]]}];
RegionDistance[plane, p[[4]]] 
RegionDistance[plane, p[[5]]] 

233317/(500 Sqrt[34077111373])

151761/(500 Sqrt[34077111373])

$\endgroup$
1
  • $\begingroup$ Thanks for your answer. I got the polgon originally from a ParametricPlot3D evaluation and I'm still wondering why it isn't coplanar. $\endgroup$ Oct 20, 2023 at 6:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.