Shear_Trans( New_X, New_Y, New_Z)
Uno scorrimento elastico molteplice:
L'asse x precedente indice verso il vettore New_X, l'asse y verso il vettore New_Y
e l'asse z verso il vettore New_Z.
Shear_Trans(< 2, 0.5, 0>,
< 0, 0.5, 0>,
< 0, 0.5, 0.5>) |
|
|
Matrix_Trans( New_X, New_Y, New_Z, D)
|
Scorrimento elastico molteplice + Translazione:
L'asse x precedente indice verso il vettore New_X, l'asse y verso il vettore New_Y
e l'asse z verso il vettore New_Z, con l'aggiunta di una translazione con il vettore D.
Matrix_Trans(< 2, 0.5, 0>,
< 0, 0.5, 0>,
< 0, 0.5,0.5>,
<-0.5, 0, 0> ) |
|
|
|
Axial_Scale_Trans( Axis, Amount )
Lo stiramento in direzione di un asse "Axis"
con il fattore "Amount"
Axial_Scale_Trans(< 2,0,2>, 0.5)
|
|
|
|
Rotate_Around_Trans
( <Rotate.x,Rotate.y,Rotate.z>, Center_of_Rotation )
Una rotazione con il vettore di rotazionw <Rotate.x,Rotate.y,Rotate.z>
intorno al centro "Center_of_Rotation".
Rotate_Around_Trans(< 0, 0, 20>,
< 1.5,0.5, 1>) |
|
|
|
Axis_Rotate_Trans( Axis, Angle )
Rotazione intorno a un asse "Axis" con il angelo di "Angle" (in gradi).
Axis_Rotate_Trans(< 1,0,2>, 110) |
|
|
|
Reorient_Trans( Axis_1, Axis_2 )
Reorientazione con rotazione
di un asse "Axis_1" verso un asse nouvo "Axis_2".
Reorient_Trans(< 1,0,0>,
< 1,0.0,2>) |
|
|
|
Point_At_Axis( New_Y_Axis )
Reorientazione con rotazione con l'asse di y verso un asse nouvo "New_Y_Axis".
#declare New_Y_Axis = <0.25,1,0.15>;
object{ MyObject
Point_At_Trans( New_Y_Axis )} |
|
|
|
Center_Trans( OBJECT , axis )
a) Centra un oggetto dichiarato 'OBJECT' in direzione y.
Center_Trans( OBJECT , y ) |
|
|
a) Centra un oggetto dichiarato 'OBJECT' in direzione x e y.
Center_Trans(OBJECT, x+y ) |
|
|
a) Centra un oggetto dichiarato 'OBJECT' in direzione x, y e z.
Center_Trans(OBJECT,x+y+z) |
|
|
|
Nessuna trasformazione, ma spesso disponibile in tutto trasformazioni problemi: (una funzionalità built-in!)
min_extent( OBJECT_IDENTIFIER )
max_extent(OBJECT_IDENTIFIER)
Questo restituisce il minimo e il massimo dei coordinati di un oggetto dichiarato o gli angoli di un bounding box per questo oggetto.
Attenzione: Per CSG intersezioni e differenze o isosuperfici
il bounding box non rappresenta le reali dimensioni dell'oggetto!
|
|
Demo bounding box:
object{ Wire_Box(min_extent(OBJECT),max_extent(OBJECT),0.05)
pigment{ rgb<1,0.65,0>}
} |
Lunghezza in x della bounding box:
#declare Length_X =
max_extent(OBJECT).x - min_extent(OBJECT).x; |
Centro dell'OBJECT:
#declare Center =
0.5*( min_extent(OBJECT)+ max_extent(OBJECT)); |
|
|