7.5.4.3        Quadrica



le superficie quadriche possono creare oggetti come ellissoidi, sfere, coni, cilindri, paraboloidi (per esempio specchi parabolici) e iperboloidi (forme a sella o clessidre). Non confondete le quartiche con quadriche. Una quadrica è una polinomiale di secondo grado mentre una quartica è di quarto grado. Le quadriche assicurano una maggiore velocità di rendering e incorrono in meno errori.
Una quadrica è definita così :

quadric { <A,B,C>, <D,E,F>, <G,H,I>, J }

dove le lettere da A a J rappresentano i valori che definiscono i punti x, y, e z che formano la superficie. Questi punti rispondono all'equazione

A x^2 + B y^2 + C z^2 +
D xy + E xz + F yz +
G x + H y + I z + J = 0

Valori diversi di A, B, C... daranno oggetti diversi. Se prendi un qualunque punto x, y e z e usi le sue coordinate in questa equazione, il risultato sarà uguale a zero se il punto appartiene alla superficie dell'oggetto, negativo se si trova dentro all'oggetto e positivi se si trova fuori. Ecco alcuni esempi :

X^2 + Y^2 + Z^2 - 1 = 0 Sfera
X^2 + Y^2 - 1 = 0 Cilindro infinito lungo l'asse z
X^2 + Y^2 - Z^2 = 0 cono infinito lungo l'asse z

Il modo più semplice di usare questi oggetti è quello di includere il file shapes.inc nella tua scena. Questo file contiene alcune quadriche predefinite, che è possibile posizionare, ruotare, ridimensionare all'interno della scena. È possibile richiamarle usando la seguente sintassi :

object { Nome_della_Quadrica }

Queste quadriche predefinite sono centrate nell'origine ed hanno raggio unitario. Non confondete il raggio con la larghezza dell'oggetto. Il raggio è la metà del diametro (o larghezza), quindi le normali quadriche sono ampie due unità.
Alcune delle quadriche predefinite sono :

Ellipsoid
Cylinder_X, Cylinder_Y, Cylinder_Z
QCone_X, QCone_Y, QCone_Z
Paraboloid_X, Paraboloid_Y, Paraboloid_Z

Per una lista completa vedere il file shapes.inc.