Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


projets:surfaces:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
projets:surfaces:accueil [2015/04/16 11:24]
alba [Tutoriel : Comment construire le modèle stl d'une surface algébrique]
projets:surfaces:accueil [2015/05/17 16:59]
alba [Code]
Ligne 1: Ligne 1:
 ====== Surfaces ====== ====== Surfaces ======
-  * Porteur du projet : alba +  * Porteur du projet : Alba Málaga 
-  * Date : xx/xx/xxxx +  * Date : 2015 
-  * Licence : libre ! +  * Licence :  
-  Contexte :  +    Licence Creative Commons CC-BY pour les modèles 3D Taube, Kolibri et Herz; 
-  Fichiers : lien +    Licence de documentation libre GNU pour cette page de wiki;  
-  * Lien +    * Licence Creative Commons CC-BY-SA pour les autres modèles 3D et pour les images illustrant la documentation. 
 +  * Contexte :
     * [[http://www.imaginary.org]]     * [[http://www.imaginary.org]]
-    * http://imaginary.org/fr/hands-on/taube-kolibri-herz +    * [[http://mathematiquesvivantes.weebly.com/photosvideos.html]] 
-    * http://mathematiquesvivantes.weebly.com/photosvideos.html+  * Fichiers :  
 +    * [[http://imaginary.org/fr/hands-on/taube-kolibri-herz]]
  
 ===== Description ===== ===== Description =====
Ligne 33: Ligne 35:
  
 ===== Matériaux ===== ===== Matériaux =====
-Liste de matériel et composants nécessaires+ 
 +  * Imprimante 3D : Ultimaker 2 [[http://ultimaker.com/en/products/ultimaker-2-family/ultimaker-2]]  
 +  * Filament : PLA Form Futura 2.85mm 
 +  * Peinture acrylique 
 +  * Siccatif de bricolage  
 + 
 +===== Formules ===== 
 + 
 +Dans la table ci-dessus, toutes les formules implicites proviennent des contributions de Herwig Hauser sur Imaginary.org (galerie Herwig Hauser classic et l'ensemble de surfaces algébriques de l'institut Forwiss), avec éventuellement quelques constantes de rajoutées. Les paramétrisations correspondantes ont été calculées par Alba. L'intérêt d'une paramétrisation explicite pour la construction d'un modèle 3D est que les modèles qui en sortent sont plus propres, car approcher numériquement la solution d'une équation comporte des erreurs beaucoup plus grosses que d'évaluer une fonction. C'est particulièrement vrai dans le cas des équations polynomiales et l'évaluation des polynômes. 
 + 
 +^Nom^Équation polynomiale^Paramétrisation(s)^  
 +^Zitrus^$9(x^2+z^2)=64y^3(1-y)^3$^$\left\{\begin{array}{rcl}x&=&\frac83\sin^3(u)\cos^3(u)\cos(v)\\y&=&\cos^2(u)\\z&=&\frac83\sin^3(u)\cos^3(u)\sin(v)\end{array}\right.$^  
 +^Limão^$x^2=y^3z^3$^$\left\{\begin{array}{rcl}x&=&u^3v^3\\y&=&\pm u^2\\z&=&\pm v^2\end{array}\right.$^  
 +^Vis-à-vis^$x^2+y^2+y^4+z^3=x^3+z^4$^ ^ ^ 
 +^Calypso^$x^2+y^2z=z^2$^$\left\{\begin{array}{rcl}x&=&v^2\sin(u)&\\y&=&v\cos(u)&\\z&=&v^2\end{array}\right.$^$\left\{\begin{array}{rcl}x&=&v^2\cos(u)&\\y&=&v\sqrt{2\sin(u)}&\\z&=&v^2(\sin(u)-1)\end{array}\right.$^ 
 +^Calyx^$x^2+y^2z^3=z^4$^$\left\{\begin{array}{rcl}x&=&v^4\sin(u)&\\y&=&v\cos(u)&\\z&=&v^2\end{array}\right.$^$\left\{\begin{array}{rcl}x&=&v^4\sin(u)(\cos(u)-1)&\\y&=&v\sqrt{2\cos(u)}&\\z&=&v^2(\cos(u)-1)\end{array}\right.$^ 
 +^Daisy^$(x^2-y^3)^2=(z^2-y^2)^3$^$\left\{\begin{array}{rcl}x&=&v^3(\sin(u)+(\sin^2(u)-1) (\sin(u)+\cos(u)))^2\\y&=&v^2 (\sin(u)+(\sin^2(u)-1) (\sin(u)+\cos(u))) \sin(u) \\z&=&v^2(\sin^3(u)-\cos^3(u))\end{array}\right.$^  
 +^Diabolo^$x^2=(y^2+z^2)^2$^$\left\{\begin{array}{rcl}x&=&\pm(u^2+v^2)\\y&=&u\\z&=&v\end{array}\right.$^ 
 +^Ding Dong^$x^2+y^2+z^2=z^3$^$\left\{\begin{array}{rcl}x&=&\frac{v^6+1}{3\sqrt{3}v^3}\cos(u)\\y&=&\frac{v^6+1}{3\sqrt{3}v^3}\sin(u)\\z&=&\frac{-1+v^2-v^4}{3 v^2}\end{array}\right.$^$\left\{\begin{array}{rcl}x&=&\frac2{3\sqrt{3}}\cos\left(\frac{3v}2\right)\cos(u)\\y&=&\frac2{3\sqrt{3}}\cos\left(\frac{3v}2\right)\sin(u)\\z&=&\frac{1-2\cos(v)}3\end{array}\right.$^ 
 +^Distel^$x^2+y^2+z^2+1500(x^2+y^2)(x^2+z^2)(y^2+z^2)=1$^$ $^  
 +^Dullo^$x^2+y^2=(x^2+y^2+z^2)^2$^$\left\{\begin{array}{rcl}x&=&\frac{1-cos(v)}2\cos(u)\\y&=&\frac{1-cos(v)}2\sin(u)\\z&=&-\frac12\sin(v)\end{array}\right.$^  
 +^Eistüte^$(x^2+y^2)^3=4x^2y^2(z^2+1)$^$\left\{\begin{array}{rcl}x&=&\sin(2u)\sin(u)\sqrt{v^2+1}\\y&=&\sin(2u)\cos(u)\sqrt{v^2+1}\\z&=&v\end{array}\right.$^  
 +^Helix^$6x^2=2x^4+y^2z^2$^$\left\{\begin{array}{rcl}x&=&\frac1{\sqrt2}\sqrt{3\pm\sqrt{9\pm4u^2v^2}}\\y&=&u\\z&=&v\end{array}\right.$^$\left\{\begin{array}{rcl}x&=&\sqrt{3}\cos(u)\\y\text{ ou }z&=&\sqrt{3}v\\y\text{ ou }z&=&\sqrt{\frac32}\frac{\sin{2u}}v\end{array}\right.$^ 
 +^Herz^$x^2z^2+z^4=y^2+z^3$^$\left\{\begin{array}{rcl}x&=&\frac12v\sin(u)\\y&=&\pm\frac12\sqrt{v^2-1}(1+v\cos(u))\\z&=&\frac12(1+v\cos(u))\end{array}\right.$^  
 +^Himmel & Hölle^$x^2=y^2z^2$^$\left\{\begin{array}{rcl}x&=&\pm uv\\y&=&u\\z&=&v\end{array}\right.$^  
 +^Kolibri^$x^2=y^2z^2+z^3$^$\left\{\begin{array}{rcl}x&=&u(u^2-v^2)\\y&=&v\\z&=&u^2-v^2\end{array}\right.$^  
 +^Kreisel^$60(x^2+y^2)z^4=(60-x^2-y^2-z^2)^3$^$\left\{\begin{array}{rcl}x&=&\sqrt{\frac{60}{1+60(v^3+v^2)}}\cos(u)\\y&=&\sqrt{\frac{60}{1+60(v^3+v^2)}}\sin(u)\\z&=&\pm60\sqrt{\frac{v^3}{1+60(v^3+v^2)}}\end{array}\right.$^ 
 +^Miau^$x^2yz+x^2z^2+2y^3z+3y^3=0$^$ $^  
 +^Nepali^$(xy-z^3-1)^2=(1-x^2-y^2)^3$^$\left\{\begin{array}{rcl}x&=&\cos(v)\cos(u)\\y&=&\cos(v)\sin(u)\\z&=&\sqrt[3]{\frac12\cos^2(v)\sin(2u)-1-\sin^3(v)}\end{array}\right.$^  
 +^Seepferdchen^$(x^2-y^3)^2=(x+y^2)z^3$^$ $^  
 +^Solitude^$x^2yz+xy^2+y^3+y^3z=x^2z^2$^$ $^  
 +^Tanz^$2x^4=x^2+y^2z^2$^$\left\{\begin{array}{rcl}x&=&\pm\frac12\sqrt{1+\sqrt{1+2u^2v^2}}\\y&=&\frac1{\sqrt{2}}u\\z&=&\frac1{\sqrt{2}}v\end{array}\right.$^  
 +^Taube^$256z^3 − 128x^2z^2+16x^4z+144xy^2z−4x^3y^2−27y^4=0$^$\left\{\begin{array}{rcl}x&=&3(u^2-v^2)\\y&=&\pm2v(3u^2-v^2)\\z&=&3u^2v^2\end{array}\right.$^$\left\{\begin{array}{rcl}x&=&-3(u^2+v^2)\\y&=&\pm2v(3u^2+v^2)\\z&=&-3u^2v^2\end{array}\right.$^  
 +^Tülle^$yz\cdot (x^2+y-z)=0$^$\left\{\begin{array}{rcl}x&=&u\\y&=&v\\z&=&u^2+v\end{array}\right.$^$\left\{\begin{array}{rcl}x&=&u\\y\text{ ou }z&=&v\\y\text{ ou }z&=&0\end{array}\right.$^  
 +^Zeck^$x^2+y^2=z^3\cdot(1-z)$^$\left\{\begin{array}{rcl}x&=&\sin(v)\cos^3(v)\cos(u)\\y&=&\sin(v)\cos^3(v)\sin(u)\\z&=&\cos^2(v)\end{array}\right.$^ 
 +^Spitz^$(y^2-x^2-z^2)^3=27x^2y^3z^2$^$\left\{\begin{array}{rcl}x&=&4v^3\cos(u)\\y&=&6v^2\sqrt[3]{\sin^2(2u)}-\sqrt{4v^2\sqrt[3]{sin(2u)^4}+16v^6}\\z&=&4v^3\sin(u)\end{array}\right.$^  
 +^Schneeflocke^$x^3+y^2z^3+yz^4=0$^$\left\{\begin{array}{rcl}x&=&\pm(u-v)\sqrt[3]{uv}\\y&=&u\\z&=&v-u\end{array}\right.$^  
 + 
 +===== Code ===== 
 +Ci-dessus, un script pour MathMod contenant toutes les surfaces listées dans la section Formules de ce wiki, ainsi qu'une paramétrisation pour la plupart d'entre elles.  
 + 
 +<code javascript>{ "MathModels": [  
 +{ "Iso3D": { "Component": [ "Zitrus" ], "Fxyz": [ "9*(x^2+z^2)-64*y^3*(1-y)^3" ], "Name": [ "Zitrus" ], "Xmax": [ "1/3" ], "Xmin": [ "-1/3" ], "Ymax": [ "1" ], "Ymin": [ "0" ], "Zmax": [ "1/3" ], "Zmin": [ "-1/3" ] } },  
 +{ "Param3D": { "Component": [ "Zitrus P" ], "Description": [ "Parametric Zitrus" ], "Fx": [ "(8/3)*sin(u)^3*cos(u)^3*cos(v)" ], "Fy": [ "cos(u)^2" ], "Fz": [ "(8/3)*sin(u)^3*cos(u)^3*sin(v)" ], "Name": [ "Zitrus P" ], "Umax": [ "pi/2" ], "Umin": [ "0" ], "Vmax": [ "2*pi" ], "Vmin": [ "0" ] } },  
 +{ "Iso3D": { "Component": [ "Limão" ], "Fxyz": [ "x^2-y^3*z^3" ], "Name": [ "Limão" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "1" ], "Zmin": [ "-1" ] } },  
 +{ "Param3D": { "Component": ["Limão_+","Limão_-"], "Description": ["Parametric Limão"], "Fx": ["u^3*v^3","u^3*v^3"], "Fy": ["v^2","-v^2"], "Fz": ["u^2","-u^2"], "Name": ["Limão P"], "Umax": ["1","1"], "Umin": ["-1","-1"], "Vmax": ["1","1"], "Vmin": ["-1","-1"] } },  
 +{ "Iso3D": { "Component": [ "Vis-à-vis" ], "Fxyz": [ "x^2-x^3+y^2+y^4+z^3-z^4" ], "Name": [ "Vis-à-vis" ], "Xmax": [ "1.73" ], "Xmin": [ "-1.73" ], "Ymax": [ "2" ], "Ymin": [ "-2" ], "Zmax": [ "1.65" ], "Zmin": [ "-1.65" ] } },  
 +{ "Iso3D": { "Component": [ "Calypso" ], "Fxyz": [ "x^2+y^2*z-z^2" ], "Name": [ "Calypso" ], "Xmax": [ "2.55" ], "Xmin": [ "-2.55" ], "Ymax": [ "2.55" ], "Ymin": [ "-2.55" ], "Zmax": [ "2.55" ], "Zmin": [ "-2.55" ] } },  
 +{ "Param3D": { "Component": [ "CalypsoPolar_+", "CalypsoPolar_-" ], "Description": [ "Calypso parametrized polar" ], "Fx": [ "v^2*sin(u)", "v^2*cos(u)" ], "Fy": [ "v*cos(u)", "v*sqrt(2*sin(u))" ], "Fz": [ "v^2", "v^2*(sin(u)-1)" ], "Name": [ "Calypso polar" ], "Umax": [ "2*pi", "pi" ], "Umin": [ "0", "0" ], "Vmax": [ "1", "1" ], "Vmin": [ "0", "-1" ] } },  
 +{ "Iso3D": { "Component": [ "Calyx" ], "Fxyz": [ "x^2+y^2*z^3-z^4" ], "Name": [ "Calyx" ], "Xmax": [ "4" ], "Xmin": [ "-4" ], "Ymax": [ "2" ], "Ymin": [ "-2" ], "Zmax": [ "2" ], "Zmin": [ "-2" ] } },  
 +{ "Param3D": { "Component": [ "CalyxPolar_+", "CalyxPolar_-" ], "Description": [ "Calyx parametrized polar" ], "Fx": [ "v^4*sin(u)", "v^4*sin(u)*(cos(u)-1)" ], "Fy": [ "v*cos(u)", "v*sqrt(2*cos(u))" ], "Fz": [ "v^2", "v^2*(cos(u)-1)" ], "Name": [ "Calyx polar" ], "Umax": [ "2*pi", "pi/2" ], "Umin": [ "0", "-pi/2" ], "Vmax": [ "1", "1" ], "Vmin": [ "0", "-1" ] } },  
 +{ "Iso3D": { "Component": [ "Daisy" ], "Fxyz": [ "(x^2-y^3)^2-(z^2-y^2)^3" ], "Name": [ "Daisy" ], "Xmax": [ "0.1" ], "Xmin": [ "-0.1" ], "Ymax": [ "0.21" ], "Ymin": [ "-0.15" ], "Zmax": [ "0.21" ], "Zmin": [ "-0.21" ] } },  
 +{ "Param3D": { "Description": ["Parametric Daisy"], "Name": ["Daisy P"], "Component": ["Daisy_++","Daisy_+-","Daisy_-+","Daisy_--"], "Fx": ["sqrt((v+u)^3-u^3)","sqrt((v-u)^3+u^3)","-sqrt((v-u)^3+u^3)","-sqrt((v+u)^3-u^3)"], "Fy": ["-u","u","u","-u"], "Fz": ["sqrt((v+u)^2+u^2)","-sqrt((v-u)^2+u^2)","sqrt((v-u)^2+u^2)","-sqrt((v+u)^2+u^2)"], "Umax": [ "1", "1", "1", "1"], "Umin": ["-1","-1","-1","-1"], "Vmax": [ "1", "1", "1", "1"], "Vmin": [ "0", "0", "0", "0"] } },  
 +{ "Iso3D": { "Component": [ "Diabolo" ], "Fxyz": [ "x^2-(y^2+z^2)^2" ], "Name": [ "Diabolo" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "1" ], "Zmin": [ "-1" ] } },  
 +{ "Param3D": { "Component": [ "DiaboloP_+","DiaboloP_-" ], "Description": [ "Parametric diabolo" ], "Fx": [ "u^2","-u^2" ], "Fy": [ "u*cos(v)","u*cos(v)" ], "Fz": [ "u*sin(v)","u*sin(v)" ], "Name": [ "Diabolo P" ], "Umax": [ "pi/2","0" ], "Umin": [ "0","-pi/2" ], "Vmax": [ "2*pi","2*pi" ], "Vmin": [ "0","0" ] } },  
 +{ "Iso3D": { "Component": [ "Ding Dong" ], "Fxyz": [ "x^2+y^2+z^3-z^2" ], "Name": [ "Ding Dong" ], "Xmax": [ "1.34" ], "Xmin": [ "-1.34" ], "Ymax": [ "1.34" ], "Ymin": [ "-1.34" ], "Zmax": [ "1" ], "Zmin": [ "-0.85" ] } },  
 +{ "Param3D": { "Component": [ "DingDongP_+", "DingDongP_-" ], "Description": [ "Parametric ding dong" ], "Fx": [ "2/(3*sqrt(3))*sin(3*v/2)*cos(u)", "-(v^6+1)/(3*sqrt(3)*v^3)*cos(u)" ], "Fy": [ "2/(3*sqrt(3))*sin(3*v/2)*sin(u)", "-(v^6+1)/(3*sqrt(3)*v^3)*sin(u)" ], "Fz": [ "(1+2*cos(v))/3", "-(1-v^2+v^4)/(3*v^2)" ], "Name": [ "Ding Dong P" ], "Umax": [ "2*pi", "2*pi" ], "Umin": [ "0", "0" ], "Vmax": [ "pi", "1.7" ], "Vmin": [ "0", "1"] } }, 
 +{ "Iso3D": { "Component": [ "Distel" ], "Fxyz": [ "x^2+y^2+z^2+1500*(x^2+y^2)*(x^2+z^2)*(y^2+z^2)-1" ], "Name": [ "Distel" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "1" ], "Zmin": [ "-1" ] } },  
 +{ "Iso3D": { "Component": [ "Dullo" ], "Fxyz": [ "(x^2+y^2+z^2)^2-(x^2+y^2)" ], "Name": [ "Dullo" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "0.5" ], "Zmin": [ "-0.5" ] } },  
 +{ "Param3D": { "Component": [ "Dullo P" ], "Description": [ "Parametric dullo" ], "Fx": [ "(1-cos(u))*cos(v)/2" ], "Fy": [ "(1-cos(u))*sin(v)/2" ], "Fz": [ "-sin(u)/2" ], "Name": [ "Dullo P" ], "Umax": [ "2*pi" ], "Umin": [ "0" ], "Vmax": [ "2*pi" ], "Vmin": [ "0" ] } },  
 +{ "Iso3D": { "Component": [ "Eistüte" ], "Fxyz": [ "(x^2+y^2)^3-4*x^2*y^2*(z^2+1)" ], "Name": [ "Eistüte" ], "Xmax": [ "10" ], "Xmin": [ "-10" ], "Ymax": [ "10" ], "Ymin": [ "-10" ], "Zmax": [ "10" ], "Zmin": [ "-10" ] } },  
 +{ "Param3D": { "Component": [ "Eistüte P" ], "Description": [ "Parametric Eistüte" ], "Fx": [ "sin(2*u)*sin(u)*sqrt(v^2+1)" ], "Fy": [ "sin(2*u)*cos(u)*sqrt(v^2+1)" ], "Fz": [ "v" ], "Name": [ "Eistüte P" ], "Umax": [ "2*pi" ], "Umin": [ "0" ], "Vmax": [ "10" ], "Vmin": [ "-10" ] } },  
 +{ "Iso3D": { "Component": [ "Helix" ], "Fxyz": [ "2*x^4+y^2*z^2-6*x^2" ], "Name": [ "Helix" ], "Xmax": [ "sqrt(3)" ], "Xmin": [ "-sqrt(3)" ], "Ymax": [ "3*sqrt(1.5)" ], "Ymin": [ "-3*sqrt(1.5)" ], "Zmax": [ "3*sqrt(1.5)" ], "Zmin": [ "-3*sqrt(1.5)" ] } },   
 +{ "Param3D": { "Component": [ "Helix_X++", "Helix_X+-", "Helix_X-+", "Helix_X--", "Helix_Y++", "Helix_Y+-", "Helix_Y-+", "Helix_Y--", "Helix_Z++", "Helix_Z+-", "Helix_Z-+", "Helix_Z--" ], "Description": [ "Parametric Helix" ], "Fx": [ "sqrt(1.5+sqrt(2.25-u^2*v^2))", "sqrt(1.5-sqrt(2.25-u^2*v^2))", "-sqrt(1.5+sqrt(2.25-u^2*v^2))", "-sqrt(1.5-sqrt(2.25-u^2*v^2))", "sqrt(1.5*(1+cos(u)))", "sqrt(1.5*(1+sin(u)))", "-sqrt(1.5*(1+sin(u)))", "-sqrt(1.5*(1+cos(u)))", "sqrt(1.5*(1+sin(u)))", "sqrt(1.5*(1+cos(u)))", "-sqrt(1.5*(1+cos(u)))", "-sqrt(1.5*(1+sin(u)))" ], "Fy": [ "v", "u", "u", "v", "sqrt(1.5)*v", "sqrt(1.5)*v", "sqrt(1.5)*v", "sqrt(1.5)*v", "sqrt(1.5)*cos(u)/v", "sqrt(1.5)*sin(u)/v", "sqrt(1.5)*sin(u)/v", "sqrt(1.5)*cos(u)/v" ], "Fz": [ "u", "v", "v", "u", "sqrt(1.5)*sin(u)/v", "sqrt(1.5)*cos(u)/v", "sqrt(1.5)*cos(u)/v", "sqrt(1.5)*sin(u)/v", "sqrt(1.5)*v", "sqrt(1.5)*v", "sqrt(1.5)*v", "sqrt(1.5)*v" ], "Name": [ "Helix P" ], "Umax": [ "sqrt(1.5)", "sqrt(1.5)", "sqrt(1.5)", "sqrt(1.5)", "2*pi", "2*pi", "2*pi", "2*pi", "2*pi", "2*pi", "2*pi", "2*pi" ], "Umin": [ "-sqrt(1.5)", "-sqrt(1.5)", "-sqrt(1.5)", "-sqrt(1.5)", "0", "0", "0", "0", "0", "0", "0", "0" ], "Vmax": [ "sqrt(1.5)", "sqrt(1.5)", "sqrt(1.5)", "sqrt(1.5)", "3", "-1", "3", "-1", "3", "-1", "3", "-1" ], "Vmin": [ "-sqrt(1.5)", "-sqrt(1.5)", "-sqrt(1.5)", "-sqrt(1.5)", "1", "-3", "1", "-3", "1", "-3", "1", "-3" ] } },  
 +{ "Iso3D": { "Component": [ "Herz" ], "Fxyz": [ "x^2*z^2+z^4-y^2-z^3" ], "Name": [ "Herz" ], "Xmax": [ "3" ], "Xmin": [ "-3" ], "Ymax": [ "2.7" ], "Ymin": [ "-2.7" ], "Zmax": [ "3.5" ], "Zmin": [ "-2.5" ] } },  
 +{ "Param3D": { "Component": [ "HerzPolar_+", "HerzPolar_-" ], "Description": [ "Herz parametrized polar" ], "Fx": [ "0.5*v*sin(u)", "0.5*v*cos(u)" ], "Fy": [ "0.5*sqrt(v^2-1)*(1+v*cos(u))", "-0.5*sqrt(v^2-1)*(1+v*sin(u))" ], "Fz": [ "0.5*(1+v*cos(u))", "0.5*(1+v*sin(u))" ], "Name": [ "Herz polar" ], "Umax": [ "2*pi", "2*pi" ], "Umin": [ "0", "0" ], "Vmax": [ "2", "2" ], "Vmin": [ "1", "1" ] } },  
 +{ "Iso3D": { "Component": [ "HimmelHolle_01", "HimmelHolle_02" ], "Fxyz": [ "x-y*z", "x+y*z" ], "Name": [ "Himmel & Hölle" ], "Xmax": [ "1", "1" ], "Xmin": [ "-1", "-1" ], "Ymax": [ "1", "1" ], "Ymin": [ "-1", "-1" ], "Zmax": [ "1", "1" ], "Zmin": [ "-1", "-1" ] } },  
 +{ "Param3D": { "Component": [ "HimmerHolleP_01", "HimmerHolleP_02" ], "Description": [ "parametric Himmer & Hölle" ], "Fx": [ "u*v", "-u*v" ], "Fy": [ "u", "u" ], "Fz": [ "v", "v" ], "Name": [ "Himmer & Hölle P" ], "Umax": [ "1.2", "1.2" ], "Umin": [ "-1.2", "-1.2" ], "Vmax": [ "1.2", "1.2" ], "Vmin": [ "-1.2", "-1.2" ] } },  
 +{ "Iso3D": { "Component": [ "Kolibri" ], "Fxyz": [ "y^2*z^2+z^3-x^2" ], "Name": [ "Kolibri" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "1" ], "Zmin": [ "-1" ] } },  
 +{ "Param3D": { "Component": [ "KolibriP" ], "Description": [ "parametrized Kolibri" ], "Fx": [ "u*(u^2-v^2)" ], "Fy": [ "v" ], "Fz": [ "u^2-v^2" ], "Name": [ "Kolibri P" ], "Umax": [ "1" ], "Umin": [ "-1" ], "Vmax": [ "1" ], "Vmin": [ "-1" ] } },  
 +{ "Iso3D": { "Component": [ "Kreisel" ], "Fxyz": [ "(60-x^2-y^2-z^2)^3-60*(x^2+y^2)*z^4" ], "Name": [ "Kreisel" ], "Xmax": [ "sqrt(60)" ], "Xmin": [ "-sqrt(60)" ], "Ymax": [ "sqrt(60)" ], "Ymin": [ "-sqrt(60)" ], "Zmax": [ "sqrt(60)" ], "Zmin": [ "-sqrt(60)" ] } },  
 +{ "Param3D": { "Component": [ "Kreisel_03", "Kreisel_04", "Kreisel_02", "Kreisel_01" ], "Description": [ "Kreisel parametrized polar" ], "Fx": [ "sqrt(60/(1+60*(-v^3+v^2)))*cos(u)", "sqrt(60/(1+60*(v^3+v^2)))*cos(u)", "sqrt(-60*v^3/(-v^3+60*(1-v)))*cos(u)", "sqrt(60*v^3/(v^3+60*(1+v)))*cos(u)" ], "Fy": [ "sqrt(60/(1+60*(-v^3+v^2)))*sin(u)", "sqrt(60/(1+60*(v^3+v^2)))*sin(u)", "sqrt(-60*v^3/(-v^3+60*(1-v)))*sin(u)", "sqrt(60*v^3/(v^3+60*(1+v)))*sin(u)" ], "Fz": [ "60*sqrt(-v^3/(1+60*(v^2-v^3)))", "-60*sqrt(v^3/(1+60*(v^3+v^2)))", "-60/sqrt(-v^3+60*(1-v))", "60/sqrt(v^3+60*(1+v))" ], "Name": [ "Kreisel polar" ], "Umax": [ "2*pi", "2*pi", "2*pi", "2*pi" ], "Umin": [ "0", "0", "0", "0" ], "Vmax": [ "0", "0.25", "0", "4" ], "Vmin": [ "-0.25", "0", "-4", "0" ] } },{ "Iso3D": { "Component": [ "Miau" ], "Fxyz": [ "x^2*y*z+x^2*z^2+2*y^3*z+3*y^3" ], "Name": [ "Miau" ], "Xmax": [ "5" ], "Xmin": [ "-5" ], "Ymax": [ "5" ], "Ymin": [ "-5" ], "Zmax": [ "5" ], "Zmin": [ "-5" ] } },   
 +{ "Iso3D": { "Component": [ "Nepali" ], "Fxyz": [ "(x*y-z^3-1)^2-(1-x^2-y^2)^3" ], "Name": [ "Nepali" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "0" ], "Zmin": [ "-1.26" ] } },  
 +{ "Param3D": { "Component": [ "Nepali Polar" ], "Description": [ "Nepali parametrized polar" ], "Fx": [ "sin(v)*cos(u)" ], "Fy": [ "sin(v)*sin(u)" ], "Fz": [ "-(-(sin(v)^2*sin(2*u)/2-1+cos(v)^3))^(1/3)" ], "Name": [ "Nepali polar" ], "Umax": [ "2*pi" ], "Umin": [ "0" ], "Vmax": [ "pi" ], "Vmin": [ "0" ] } }, 
 +{ "Iso3D": { "Component": [ "Seepferdchen" ], "Fxyz": [ "(x^2-y^3)^2-(x+y^2)*z^3" ], "Name": [ "Seepferdchen" ], "Xmax": [ "25" ], "Xmin": [ "-25" ], "Ymax": [ "15" ], "Ymin": [ "-15" ], "Zmax": [ "25" ], "Zmin": [ "-25" ] } },  
 +{ "Iso3D": { "Component": [ "Solitude" ], "Fxyz": [ "x^2*y*z+x*y^2+y^3+y^3*z-x^2*z^2" ], "Name": [ "Solitude" ], "Xmax": [ "25" ], "Xmin": [ "-25" ], "Ymax": [ "25" ], "Ymin": [ "-25" ], "Zmax": [ "25" ], "Zmin": [ "-25" ] } },  
 +{ "Iso3D": { "Component": [ "Tanz" ], "Fxyz": [ "2*x^4-x^2-y^2*z^2" ], "Name": [ "Tanz" ], "Xmax": [ "25" ], "Xmin": [ "-25" ], "Ymax": [ "25" ], "Ymin": [ "-25" ], "Zmax": [ "25" ], "Zmin": [ "-25" ] } },  
 +{ "Param3D": { "Component": [ "TanzP_+", "TanzP_-" ], "Description": [ "parametrized Tanz" ], "Fx": [ "sqrt(1+sqrt(1+2*u^2*v^2))/2", "-sqrt(1+sqrt(1+2*u^2*v^2))/2" ], "Fy": [ "u/sqrt(2)", "u/sqrt(2)" ], "Fz": [ "v/sqrt(2)", "v/sqrt(2)" ], "Name": [ "Tanz P" ], "Umax": [ "25", "25" ], "Umin": [ "-25", "-25" ], "Vmax": [ "25", "25" ], "Vmin": [ "-25", "-25" ] } }, 
 +{ "Iso3D": { "Component": [ "Taube" ], "Fxyz": [ "256*z^3-128*x^2*z^2+16*x^4*z+144*x*y^2*z-4*x^3*y^2-27*y^4" ], "Name": [ "Taube" ], "Xmax": [ "25" ], "Xmin": [ "-25" ], "Ymax": [ "25" ], "Ymin": [ "-25" ], "Zmax": [ "25" ], "Zmin": [ "-25" ] } },  
 +{ "Param3D": { "Component": [ "TaubePs_1", "TaubePs_2", "TaubePs_3", "TaubePs_4" ], "Description": [ "Parametric Taube" ], "Fx": [ "3*(u^2-v^2)", "-3*(u^2+v^2)", "-3*(u^2+v^2)", "3*(v^2-u^2)" ], "Fy": [ "2*v*(3*u^2-v^2)", "-2*v*(3*u^2+v^2)", "2*u*(3*v^2+u^2)", "-2*u*(3*v^2-u^2)" ], "Fz": [ "3*u^2*v^2", "-3*u^2*v^2", "-3*u^2*v^2", "3*u^2*v^2" ], "Name": [ "Taube Ps" ], "Umax": [ "2", "2", "2", "2" ], "Umin": [ "0", "0", "0", "0" ], "Vmax": [ "2", "2", "2", "2" ], "Vmin": [ "0", "0", "0", "0" ] } },  
 +{ "Iso3D": { "Component": [ "Tulle_01", "Tulle_02", "Tulle_03" ], "Fxyz": [ "x^2+y-z", "y", "z" ], "Name": [ "Tulle" ], "Xmax": [ "2", "2", "2" ], "Xmin": [ "-2", "-2", "-2" ], "Ymax": [ "2", "2", "2" ], "Ymin": [ "-2", "-2", "-2" ], "Zmax": [ "2", "2", "2" ], "Zmin": [ "-2", "-2", "-2" ] } },  
 +{ "Param3D": { "Component": [ "TulleP_01", "TulleP_02", "TulleP_03" ], "Description": [ "parametrized Tulle" ], "Fx": [ "v", "u", "u" ], "Fy": [ "0.5*(u-v^2)", "0", "v" ], "Fz": [ "0.5*(u+v^2)", "v", "0" ], "Name": [ "Tulle P" ], "Umax": [ "1", "1", "1" ], "Umin": [ "-1", "-1", "-1" ], "Vmax": [ "1", "1", "1" ], "Vmin": [ "-1", "-1", "-1" ] } }, 
 +{ "Iso3D": { "Component": [ "Zeek" ], "Fxyz": [ "x^2+y^2-z^3*(1-z)" ], "Name": [ "Zeek" ], "Xmax": [ "0.1875*sqrt(3)" ], "Xmin": [ "-0.1875*sqrt(3)" ], "Ymax": [ "0.1875*sqrt(3)" ], "Ymin": [ "-0.1875*sqrt(3)" ], "Zmax": [ "1" ], "Zmin": [ "0" ] } },  
 +{ "Param3D": { "Component": [ "Zeek Polar" ], "Description": [ "Parametric Zeek" ], "Fx": [ "sin(v)*cos(v)^3*cos(u)" ], "Fy": [ "sin(v)*cos(v)^3*sin(u)" ], "Fz": [ "cos(v)^2" ], "Name": [ "Zeek Polar" ], "Umax": [ "pi/2" ], "Umin": [ "-pi/2" ], "Vmax": [ "pi/2" ], "Vmin": [ "-pi/2" ] } },  
 +{ "Iso3D": { "Component": [ "Spitz" ], "Fxyz": [ "(y^2-x^2-z^2)^3-27*x^2*y^3*z^2" ], "Name": [ "Spitz" ], "Xmax": [ "2" ], "Xmin": [ "-2" ], "Ymax": [ "2" ], "Ymin": [ "-2" ], "Zmax": [ "2" ], "Zmin": [ "-2" ] } },  
 +{ "Param3D": { "Component": [ "SpitzPolar_+", "SpitzPolar_-" ], "Description": [ "Parametric Spitz" ], "Fx": [ "4*v^3*cos(u)", "4*v^3*cos(u)" ], "Fy": [ "6*v^2*(sin(2*u)^2)^(1/3)+sqrt(4*v^2*(sin(2*u)^4)^(1/3)+16*v^6)", "6*v^2*(sin(2*u)^2)^(1/3)-sqrt(4*v^2*(sin(2*u)^4)^(1/3)+16*v^6)" ], "Fz": [ "4*v^3*sin(u)", "4*v^3*sin(u)" ], "Name": [ "Spitz Polar" ], "Umax": [ "2*pi", "2*pi" ], "Umin": [ "0", "0" ], "Vmax": [ "1.5874", "1.5874" ], "Vmin": [ "0", "0" ] } },  
 +{ "Iso3D": { "Component": [ "Schneeflocke" ], "Fxyz": [ "x^3+y^2*z^3+y*z^4" ], "Name": [ "Schneeflocke" ], "Xmax": [ "1" ], "Xmin": [ "-1" ], "Ymax": [ "1" ], "Ymin": [ "-1" ], "Zmax": [ "1" ], "Zmin": [ "-1" ] } },  
 +{ "Param3D": { "Component": [ "SchneeflockePX_1", "SchneeflockePX_2", "SchneeflockePX_3", "SchneeflockePX_4" ], "Description": [ "Parametric Schneeflocke" ], "Fx": [ "(u-v)*(u*v)^(1/3)", "-(u-v)*(-u*v)^(1/3)", "(u-v)*(u*v)^(1/3)", "-(u-v)*(-u*v)^(1/3)" ], "Fy": [ "u", "u", "u", "u" ], "Fz": [ "v-u", "v-u", "v-u", "v-u" ], "Name": [ "Schneeflocke P X" ], "Umax": [ "2", "0", "0", "2" ], "Umin": [ "0", "-2", "-2", "0" ], "Vmax": [ "2", "2", "0", "0" ], "Vmin": [ "0", "0", "-2", "-2" ] } }  
 +] } </code>
 ===== Tutoriel : Comment construire le modèle stl d'une surface algébrique ===== ===== Tutoriel : Comment construire le modèle stl d'une surface algébrique =====
 Voyons comment construire un modèle à partir de sa formule en utilisant l'exemple de Kolibri. Voyons comment construire un modèle à partir de sa formule en utilisant l'exemple de Kolibri.
Ligne 46: Ligne 136:
 {{ :projets:surfaces:kolibri_mathmod_implicite_morceaux.png?800 |}} {{ :projets:surfaces:kolibri_mathmod_implicite_morceaux.png?800 |}}
 On préférera donc passer par une forme paramétrée de Kolibri. Pour cela on fait la substitution x = u z. Après cette substitution l'équation devient u<sup>2</sup>z<sup>2</sup>=y<sup>2</sup>z<sup>2</sup>+z<sup>3</sup> qu'on peut simplifier en  On préférera donc passer par une forme paramétrée de Kolibri. Pour cela on fait la substitution x = u z. Après cette substitution l'équation devient u<sup>2</sup>z<sup>2</sup>=y<sup>2</sup>z<sup>2</sup>+z<sup>3</sup> qu'on peut simplifier en 
 +
 +$u^2=y^2+z$
  
 u<sup>2</sup>=y<sup>2</sup>+z u<sup>2</sup>=y<sup>2</sup>+z
Ligne 122: Ligne 214:
 ===== Tutoriel : Comment imprimer le modèle stl d'une surface algébrique ===== ===== Tutoriel : Comment imprimer le modèle stl d'une surface algébrique =====
  
-On reprend le modèle kolibri1_fixed_intersected.stl . Avant de l'imprimer, il faut le passer par un "slicer", c'est-à-dire un logiciel qui calculera le parcours de la tête de l'imprimante 3D tranche par tranche. Au LFO il y a plus d'une  imprimante 3D, mais pour ce projet la seule à avoir été utilisée c'est l'Ultimaker2/  Le slicer associé à l'Ultimaker 2, c'est Cura, il est disponible sur les machines du LFO.+On reprend le modèle kolibri1_50_6cm_fixed_intersected.stl . Avant de l'imprimer, il faut le passer par un "slicer", c'est-à-dire un logiciel qui calculera le parcours de la tête de l'imprimante 3D tranche par tranche. Au LFO il y a plus d'une  imprimante 3D, mais pour ce projet la seule à avoir été utilisée c'est l'Ultimaker2/  Le slicer associé à l'Ultimaker 2, c'est Cura, il est disponible sur les machines du LFO.
  
 On commence donc par importer le fichier stl dans Cura : On commence donc par importer le fichier stl dans Cura :
Ligne 128: Ligne 220:
 Dans Cura, on selectionne l'objet avec un clic gauche, on clic sur échelle, et on vérifie que les valeurs nous conviennent et que l'objet a l'air correct : Dans Cura, on selectionne l'objet avec un clic gauche, on clic sur échelle, et on vérifie que les valeurs nous conviennent et que l'objet a l'air correct :
 {{:projets:surfaces:kolibri_cura_verification.png?800|}} {{:projets:surfaces:kolibri_cura_verification.png?800|}}
-Par exemple ici, on voit que les dimensions correspondent bien, par contre le modèle a l'air d'avoir plein de stries. Par rapport à la taille à laquelle on veut l'imprimer, ça peut-être dérangeant, mais ça dépend du goût de chacun. En tout cas, pour la suite du tutoriel je vais utiliser un modèle de Kolibri obtenu à partir d'une paramétrisation de résolution 150 x 150.+Par exemple ici, on voit que les dimensions correspondent bien, par contre le modèle a l'air d'avoir quelques stries. Par rapport à la taille à laquelle on veut l'imprimer, ça peut-être ou pas dérangeant, mais ça dépend du goût de chacun. En tout cas, pour la suite du tutoriel on décide de parier que c'est suffisant.
  
-Le prochain pas est d'éventuellement tourner l'objet pour avoir moins de pentes trop aplaties, mais ici ce n'est pas nécessaire.+Le prochain pas est d'éventuellement tourner l'objet pour avoir moins de pentes trop aplaties. Icion tourne de 90° pour avoir la tête du colibri vers le haut : 
 +{{:projets:surfaces:kolibri_cura_rotate.png?800|}} 
 + 
 +On vérifie qu'il y a assez de supports (la valeur par défaut de l'angle minimal pour les supports dans Cura est de 60°, mais cette valeur est souvent insuffisante dans l'impression de surfaces mathématiques). On peut visualiser les supports dans le mode de visualisation par couches de Cura. 
 + 
 +{{:projets:surfaces:kolibri_cura_supports.png?800|}} 
 + 
 +On exporte alors le gcode et on sauvegarde le profil pour réutiliser la même configuration si celle-ci a du succès: \\ 
 + 
 +^{{:projets:surfaces:kolibri_cura_gcode.png?400|}}^{{:projets:surfaces:kolibri_cura_profil.png?400|}}^
 ===== Photos ===== ===== Photos =====
 Autres photos, galerie, ... Autres photos, galerie, ...
  
-Les mots clés (tags) représentant votre travail+
 {{tag>[surfaces parametrisation impression-3D]}} {{tag>[surfaces parametrisation impression-3D]}}
/home/resonancg/www/wiki/data/pages/projets/surfaces/accueil.txt · Dernière modification: 2016/02/01 14:19 de resonance