eseguire uno script in cinema 4d
Moderators: Arkimed, natas, visualtricks, cappellaiomatto
-
- Advertising
eseguire uno script in cinema 4d
vorrei applicare in cinema una formula di inversione: voglio invertire un cubo avendo come riferimento una sfera. La formula matematica é semplice e per calcolare i punti trasformati si ha bisogno solo di pochi dati: il punto trasformato si trova nell´asse che collega il centro della sfera al punto originale. La distanza dal raggio al punto trasformato é data dal raggio della sfera al cubo, diviso la distanza tra il centro della sfera e il punto originale.
Un amico ha preparato lo script per Maya, in MEL. Qualcuno mi sa dire come posso usarlo in cinema?
grazie mille!!
qui lo script in MEL:
//spherical inversion_01
for ($i = 0 ; $i < 602 ; $i=$i+1)
{
//get radius of reference sphere r
float $r = `polySphere -q -r pSphere1`;
//find worldspace position of vertex
float $point1Pos[] = `xform -query -t -worldSpace ("pCube1.vtx["+ $i +"]")`;
//float $point1Pos[] = `xform -query -worldSpace pCube1.vtx[25]`;
//get xyz of sphere pivot point M
float $point2Pos[] = `xform -query -pivots -worldSpace pSphere1`;
//calculate distance between each points componants (XYZ)
float $deltaX = $point2Pos[0] - $point1Pos[0];
float $deltaY = $point2Pos[1] - $point1Pos[1];
float $deltaZ = $point2Pos[2] - $point1Pos[2];
//calculate distance between the M and vertex
float $distance = sqrt(($deltaX * $deltaX)+ ($deltaY * $deltaY)+ ($deltaZ * $deltaZ));
//print ("\n Distance between selected points = "+ $distance);
//calculate distance of inverted point "invert"
float $invert = ($r * $r) / $distance;
//calculate position "value"
float $value = sqrt(($invert * $invert) / (($deltaX * $deltaX + $deltaY * $deltaY) * ($deltaX * $deltaX + $deltaY * $deltaY) + ($deltaZ * $deltaZ)));
print ("\n Distance between selected points = "+ $value);
//calculate position of inversion point
float $invertX = $deltaX * $value;
float $invertY = $deltaY * $value;
float $invertZ = $deltaZ * $value;
//draw inversion point
spaceLocator -position $invertX $invertY $invertZ;
//move vertices of pcube2 in inverted positon
select -r ("pCube2.vtx["+ $i +"]") ;
move -a $invertX $invertY $invertZ ;
}
- masterzone
- Site Admin
- Posts: 10551
- Joined: Fri Sep 17, 2004 5:34 pm
- Location: Verona
Re: eseguire uno script in cinema 4d


- ingmannori
- Posts: 153
- Joined: Tue Sep 30, 2008 6:25 pm
Re: eseguire uno script in cinema 4d
Re: eseguire uno script in cinema 4d
grazie!
- masterzone
- Site Admin
- Posts: 10551
- Joined: Fri Sep 17, 2004 5:34 pm
- Location: Verona
Re: eseguire uno script in cinema 4d
Mz
-
- Advertising
FOLLOW US