Close

Fichier POV opérationnel ! :)

A project log for Forge solaire portative

Parvenir à créer une lentille de Fresnel démontable et transportable !

llollo 02/05/2017 at 18:040 Comments

C'est avec un immense plaisir que je peux enfin poster une version 1.* du fichier POV de la lentille. Il m'aura fallu essayer et rater quelques jours et veiller et gagner quelques soirs pour qu'enfin tous les obstacles du langage soient franchis.

Je reste, malgré une légère déception à propos de translate, extrêmement satisfaite de POV ray, qui permet de réaliser des prouesses autrement plus impresionnantes que mon bricolage.

Je vous joins donc le code final, KISS et tout mignon (47 lignes de codes, commentaires compris).

#version 3.7;
global_settings {assumed_gamma 1.0}

// l'atelier
light_source {<-6,2,0> rgb <1,1,1>}
sky_sphere {pigment {gradient y scale 2 translate -1} }
plane { <0,-1,0>, 1 pigment { wood } translate <0,-3,0> } // une table de travail

camera {
perspective
//location <0,1,-8> // x,y,z vu de cote
//location <0.5,4,0> // x,y,z vu de dessus
location <-10,0,0> // x,y,z vu de face
//location <-3,0,-2> // x,y,z vu de trois-quart
look_at <0,0,0>
}
// ---------

#declare x_sphere = -1.9;

intersection { // premiere tranche, sans creusage
  sphere {  x_sphere,0,0> 2 }
  cylinder { <0,0,0> <0.1,0,0> 2}
  pigment { rgbt <0,0,1,.7> }
  finish {phong 2}
} 

#while (x_sphere < 0)

#declare x_sphere = x_sphere+0.1;
// Pour trouver le diametre du cercle interieur, on applique pythagore :
// le rayon de la SPHERE est l'hypothenuse,
// triangle est rectangle en x du CYLINDRE ;)
#declare rayon_cylindre_interieur = 2 * sqrt(4 - ( -x_sphere * -x_sphere ) );

difference {
  intersection {
    sphere {  2 }
    cylinder { <0,0,0> <0.1,0,0> 2}
  }
  cylinder { <-2,0,0> <2,0,0> 0.62}

pigment { rgbt <0,0,1,.7> }
finish {phong 2}
}

#end

La prochaine étape ? Transposer ça en stl et s'attaquer à la recherche du matériau pour l'impression 3D !

Discussions