Author Topic: Math problem - calculating a volume given points  (Read 6133 times)

0 Members and 1 Guest are viewing this topic.

dgorsman

  • Water Moccasin
  • Posts: 2437
Math problem - calculating a volume given points
« on: November 18, 2009, 12:37:31 PM »
Both my math and my Google-fu is failing me at the moment.  I'm trying to calculate the volume of a shape (see attached file) given the following conditions:

The shape is defined by six points:

PF PG PH
PA PB PC

... where:

PFxy = PAxy
PGxy = PBxy
PHxy = PCxy

PFz != PGz != PHz

PAz < PFz
PBz < PGz
PCz < PHz

Now if the distance between vertically coresponding points was the same for each point, it would be simple area x length, but thats not necessarily the case here.  I can't use (vla-get-Volume...) as the shape doesn't actually exist except for lists of points.

Any suggestions?
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
Re: Math problem - calculating a volume given points
« Reply #1 on: November 18, 2009, 01:08:44 PM »
Why not make a temporary shape?
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
Be your Best


Michael Farrell
http://primeservicesglobal.com/

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: Math problem - calculating a volume given points
« Reply #3 on: November 18, 2009, 02:04:51 PM »
Why not make a temporary shape?


Given the number of iterations required, I'd rather do this with math.

I'm not sure how to create it given the available information, either.  The non-parallel faces put extrusion out.  If solids could be readily manipulated I could create a single proxy solid and continuously throw sets of coordinates at it, but I don't think that can be done, can it?
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: Math problem - calculating a volume given points
« Reply #4 on: November 18, 2009, 02:08:14 PM »
or try http://www.structuralwiki.org/en/Prismoidal_formula

Thanks, I'll give that a try.  Not sure how well it will work as the top and bottom planes aren't parallel, but it might provide a good approximation using the mid-plane averaged from the PAFz PBGz PCHz values.
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
Re: Math problem - calculating a volume given points
« Reply #5 on: November 18, 2009, 02:31:32 PM »
The formula wont work.
Quote
Prismoid
A solid having two parallel plane bases with sides generated by straight lines.
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
Re: Math problem - calculating a volume given points
« Reply #6 on: November 18, 2009, 02:40:24 PM »
then perhaps follow the link towards  Average End Area....instead...
Be your Best


Michael Farrell
http://primeservicesglobal.com/

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: Math problem - calculating a volume given points
« Reply #7 on: November 18, 2009, 03:09:55 PM »
Something else to check on, but I think it again assumes parallel surfaces - there's only a single "perpendicular distance between bases" value.
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

VovKa

  • Water Moccasin
  • Posts: 1632
  • Ukraine
Re: Math problem - calculating a volume given points
« Reply #8 on: November 18, 2009, 03:12:39 PM »
this solid is a prism plus two pyramids

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: Math problem - calculating a volume given points
« Reply #9 on: November 18, 2009, 03:41:47 PM »
this solid is a prism plus two pyramids

Could you diagram that out please?
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

VovKa

  • Water Moccasin
  • Posts: 1632
  • Ukraine
Re: Math problem - calculating a volume given points
« Reply #10 on: November 18, 2009, 04:19:10 PM »
i hope my drawing skills are not that bad :)

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
Re: Math problem - calculating a volume given points
« Reply #11 on: November 18, 2009, 08:35:55 PM »
Does this one do you any good?
http://mathworld.wolfram.com/PyramidalFrustum.html

See formula 10,11,12
« Last Edit: November 18, 2009, 08:47:38 PM by CAB »
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
Re: Math problem - calculating a volume given points
« Reply #12 on: November 19, 2009, 11:26:21 AM »
OK, those formulas are no good as any Frustum has parallel planes.
Back to the drawing board. :-P
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
Re: Math problem - calculating a volume given points
« Reply #13 on: November 19, 2009, 11:45:10 AM »
Vovka,
I see the pyramid.


I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

Lee Mac

  • Seagull
  • Posts: 12926
  • London, England
Re: Math problem - calculating a volume given points
« Reply #14 on: November 19, 2009, 11:46:23 AM »
haha - would you believe I just constructed exactly the picture you just posted  ;-)