Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
logo
    Animazione 3D con POV-Ray
        Fondamenti ed esempi per l'animazione 3D.
English English English
Français français
Deutsch Deutsch
Home
- Galeria Animazione 3D
- Tutorial POV-Ray

  Animazione 3D
   Indice del contenuto
  0. Nozioni fondamentali
     1. Esempio di base
     2. Da Immagini al Video
     3. Termini tecnici di base
     4. Comandi di Animazione
  I. Animazioni ciclici
     1. Oggetti rotanti
     1.2. Pianeti in orbita
     1.3. L'Orologio
     2. Fotocamera rotante
     2.1. Fotocamera in volo dritto
     3. Il Problema di
         Ruota Western
     3.1. Ruote Girante
     4. Ingranaggi
     4.1. Catena di Trasmissione
     4.2. Catena della Bicicletta
     5. Pendolo oscillante
     5.1. Pendolo di Newton
     5.2. Rock il Rocking Chair!
     6. Molla a spirale
     7. Biella di accoppiamento
     7.1. Biella motrice
     8. Psychedelico + Op-Art
     9. Contatori + Countdown
  >10. Piegatura di un Cubo
  II. Movimenti non-lineari
     1.0 Accelerare e Frenare 1
     1.1 Accelerare e Frenare 2
     2. Cadere e Saltellare
     3. Accelerazione secondo
          le formule de la fisica
     4. Controllo di movimenti
          con funzioni spline
  III. Sentieri di Animazione
      con Spline
     1. Curve Spline
     2. Spline ciuso
     3. Sentieri di Animazione
                                                           

La Piegatura
di uno Sviluppo del Cubo
Come si piega un cubo con 6 quadrati POV-Ray.

Come si piega un cubo:
Un cubo consiste di 6 quadrati piegati con 90° contro i quadrati adiacenti.
Per questo comminciamo con dichiarare un oggetto 'Quadrato'.
(First declare the according textures as you like it!)
// -------------------- dimensions
#declare D = 0.00001;
#declare S = 1;
#declare Rl = 0.02;// "edge" radius
#declare Rp = 0.04;//"point" radius
// ------------------------- square
// Quadrat, quadrato, carré, square
#declare Quadrato =
union{
 // the corners
 union{
  sphere{ <0,0,0>, Rp }
  sphere{ <S,0,0>, Rp }
  sphere{ <S,0,S>, Rp }
  sphere{ <0,0,S>, Rp }
  texture{ Corner_Texture } }
 // the edges
 union{
  cylinder{ <0,0,0>,<S,0,0>, Rl }
  cylinder{ <S,0,0>,<S,0,S>, Rl }
  cylinder{ <0,0,S>,<S,0,S>, Rl }
  cylinder{ <0,0,0>,<0,0,S>, Rl }
  texture{ Edge_Texture } }
 // the face
 box{ <0,-D,0>,<1,D,1>
  texture{ Face_Texture }}
} // end of union ------------------



Folding of a Cube
Un quadrato per piegare un cubo

Cube Net
Uno sviluppo del cubo

La costruzione
di una catena di quadrati:

Per la piegatura di un sviluppo del cubo (like here above right)
dobbiamo fare una catena dei quadrati A,B,C e D con un inscatolamento di 'union'.
Dobbiamo non dimenticare che la rotazione con 'rotate' gira sempre intorno agli assi delle coordinate!
Di conseguenza dobbiamo primo appliquare la rotazione e poi la traslazione come mostrato per i primi quadrati A e B nell'immagine qui a destra in alto.
Nota: 'rotazione intorno a una asse' e 'traslazione' generalmente non sono commutativi o non sono intercambiabile, cioè: Non possiamo cambiare la sequenza arbitrariament!



Qui come si fa l'animazione:
Per ottenere un inizio e una fine del moviment piu dolce usiamo la macro seguente:
#macro Cos_010( X ) //-----
  (0.5-0.5*cos(2*pi*X))
#end //--------------------
#declare Fold_Angle =
    -90*Cos_010(clock);
//---------------------------------

L'assemblaggio dei componenti di un cubo:
union{ // A + B + C
  object{ Quadrato } // C ------
  union{ // A + B
     object{ Quadrato } // B ------
     object{ Quadrato   // A ------
             rotate<Fold_Angle,0,0>
             translate<0,0,S>
           } //--------------
     rotate<Fold_Angle,0,0>
     translate<0,0,S>
  } // end A + B
  rotate<Fold_Angle,0,0>
  translate<0,0,S>
} // end A + B + C

object{ Quadrato } // D ------
object{ Quadrato  // E ------
        translate<-S,0,0>
        rotate<0,0,Fold_Angle>
      } //------------------
object{ Quadrato   // F ------
        rotate<0,0,-Fold_Angle>
        translate<S,0,0>
      } //------------------

Folding_a_Cube
Piegare un cubo: ruotare, muovere, aggiungere il prossimo quadrato!

Cos_010()
La macro 'Cos_010(...)'
Folding_a_Cube
Piegare un cubo
Descrizione della scena per POV-Ray:
"Folding_a_Cube_2.ini" e
"Folding_a_Cube_2.pov"
Per altri esempi su piegare poliedri regolari q.v.:
Geometria di Base per Raytracing o: 3D-Animations - Geometry
top

© Friedrich A. Lohmüller, 2010
www.f-lohmueller.de