[R] How to define and calculate volume of 3D polygon?
Duncan Murdoch
murdoch.duncan at gmail.com
Mon May 19 17:42:23 CEST 2014
On 19/05/2014, 10:42 AM, Alexander Shenkin wrote:
> Hi Folks,
>
> I have a set of x,y,z points in 3D space that defines the outline of a
> tree crown (5 - 15 perimeter points + 1 top & bottom point). I would
> like to calculate the volume of the corresponding 3D polygon based on
> those points. I have been able to use geometry::convhulln, but I think
> this isn't the right algorithm, since the polygon needs to pass through
> each point in order, and not just snap a rubber-band around the outer
> points.
>
> Any suggestions for alternative algorithms and packages would be most
> welcome!
If you aren't using the convex hull, you need to specify more
information. The vertices of a polyhedron don't have a natural order,
so passing through them "in order" doesn't make sense.
One way to specify this information is to specify which triples of
vertices form triangular faces, as convhulln does.
I don't know of a package containing code to compute the volume, but a
description of the algorithm is on this page:
http://www.ecse.rpi.edu/~wrf/Research/Short_Notes/volume.html
Duncan Murdoch
>
> Thanks,
> Allie
>
> seq x y z
> 1 1 -1.7310065 2.4502278 11.1
> 2 2 -1.9048260 -0.6096212 9.0
> 3 3 2.8652209 0.8891057 11.0
> 4 4 2.3929514 -3.4516349 11.2
> 5 5 -2.6436343 5.2745803 11.7
> 6 6 -4.3521504 4.6924180 11.7
> 7 7 6.1441732 -4.8051156 11.6
> 8 8 -6.2157823 -3.2193244 8.0
> 9 9 1.0024961 -2.8275434 9.0
> 10 10 -3.9656821 3.0452201 8.0
> 11 11 4.2070518 -1.5970958 11.0
> 12 12 -0.9461915 1.2902409 9.8
> 13 13 2.2792265 0.7517491 11.4
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list