La macro:
- Code: Tout sélectionner
{bd2pov( element1, ..., element2}
for $k from 1 to Nargs() do
$z:=Args(k), $type:=Re(z[1]), $coul:=Re(z[2]),$opac:=Im(z[2]),
if abs(type)=1 then {facettes}
$F:=z[3,0], {faces}
if F<>Nil then
povFacet(F, [color:=abs(coul), smooth:=(type<0), backculling:=(coul<0),
opacity:=abs(opac),twoside:= (opac>=0)]), sep3D,
fi
elif type=2 then {lignes}
$L:=z[4,0],
if L<>Nil then
povLine(L, [color:=abs(coul), opacity:=abs(opac), width:=Re(z[3]),
linestyle:=Im(z[3])]), sep3D,
fi
elif (type=3) And (Im(z[1])=0) then {point}
$P:=z[4,0],
if P<>Nil then
povDot(P, [color:=abs(coul), opacity:=abs(opac), dotscale:=Re(z[3])/2 ]), sep3D
fi
fi
od
Exemple:
- Code: Tout sélectionner
[
StyleS:=12, ColorS:=gray,
P:=StIcosaedre(5, Origin, M(4,0,0), F1,F2,A,S),
view3D(rectangle3d(P)),
povScene( bd2pov(F1,F2,A,S) ),
Display3D()
]