Demonstrates that PM adjusts cylinder diameter to correct volume.

proj cylfacet
clear

variable s1=4, s2=8, s3=16, s4=32, s5=64, s6=128, s7=512

enter pm
create spacing.c
ends -50 50
out 20
top 0
bot -1
/

macro cyl
create c%1.c\c%1.c
cylinder({s%1}) 0,0,0, 0,0,10, 5
spacing 5
//
/
.cyl(7,1) 1
Write CylFacet.GF
quit

Macro TankLen
Tank C%1.c
v r%1 a%1
set r%1= {TEndA} minus {TEndF} div 2
`Area = 1/2*n*R^2*sin(360/n)
set a%1= 360 div {s%1}
set a%1= sin {a%1}
set a%1= 0.5 times {s%1} times {r%1} times {r%1} times {a%1}
\ { s%1}    { r%1:2}   { a%1:2}
/

\Area of a circle of dia 5 = 19.635
\Sides  Vertex Radius  Area
.TankLen(7,1) 1
di