Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
Esempi POV-Ray - Come fare oggetti per POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial

  - Esempi per POV-Ray
   Indice generale
  - Geometria
    - Pedone
    - Cubo wireframe
    - Ottagono
    - Forma ovoidale
    - Stella
    - Lente ottica
    - Scacchiera
    - Forma Pallone
    - Forma Erlenmeyer
    - Due Cilindri Fondati
    - Tetraedro Regolare
    - Triangolo di Penrose
    - Yin & Yang
    - Partizione Pisciforme
    - Rosetta Trilobato
    - Partizione Trilobata
  - Architettura
  - Tecnica
                                               

 
3xfishblobs

Rosetta Trilobato

Oggetti: "torus", "Segment_of_Torus"-Makro aus "shapes3.inc".
Metodi:  "#declare", "union{...}", "object{...}"
Cliccare qui per un esempio!
La costruzione nel dettaglio:
Come calculare il raggio Ri dei cicli interni:
Il raggio dei cicli interni si chiama Ri.
Vede l'illustrazione a margine destra:
La linea retta MP = Ri (violetto).
Linea OP = sqrt(3)/3 * Ri (blu ciano).
  ( tan(30°) = sqrt(3)/3 ).
Linea OM (rosso) = Linea OQ (giallo).
Linea OQ = 2*sqrt(3)/3 * Ri (giallo).
Se chiamano il raggio del ciclo esteriore Ra, abbiamo:
Ra = Linea QS + Linea OQ.
Perciò: Ra = Ri + 2*sqrt(3)/3 * Ri,
o:
Ra = Ri * ( 1 + 2*sqrt(3)/3 ).
D'altra parte se abbiamo dato il raggio esteriore Ra, il raggio interiore Ri si calcola come segue:
Ri = Ra / ( 1+ 2*sqrt(3)/3 ).
Calculazione del raggio Ri
dei cicli interni.
Nel sugente il segmento di toro è fatto con il mio macro "#macro Segment_of_Torus( R_major, R_minor, Segment_Angle)" del mio inlude file. Questo file si deve inseriere nel testo con #include "shapes3.inc" !
 
#declare R0 = 0.07;
// minor radius of all circles
#declare M  = <0,0,0>;
// center of the outer circle
// Threefold Fish
#declare Ra = 3.00-R0;
// radius of the circle 1
#declare Ri = Ra/(1+2/3*sqrt(3));
// radius of inner circles
#declare Mi = <0,-Ra+Ri,0>;
// center of the inner circle
#declare S_3_Angle =  210 ;
// segment angle  torus
// outer ring:
torus { Ra,  R0
     rotate<90,0,0>
     translate M
   } // end of torus  -----
// 3 torus segments:
#include "shapes_lo.inc"
#declare Segment =
object{
  Segment_of_Torus(Ri,R0,-S_3_Angle)
  rotate<-90, 0, 60>
  translate Mi
} // end of Torus_Segment(...)

object{ Segment rotate<0,0,  0>}
object{ Segment rotate<0,0,120>}
object{ Segment rotate<0,0,240>}
//------------------------- end
Cliccare qui per una descrizione della scena per POV-Ray:
".txt" file o ".pov" file
 
.
top

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