Ceci est une ancienne révision du document !


A PCRE internal error occured. This might be caused by a faulty plugin

~~META:date created=2010-04-18~~ {{tag>3d programmation python maya 3dsmax vray maths}} ======Pyramide de Sierpinsky====== Fractale 3D basée sur le [[wp>en:Sierpinski_triangle|triangle de Sierpinski]]. **Principe grossier :** à chaque itération, on remplace chaque pyramide par cinq pyramides plus petites empilées. Génération des modèles : Maya, Mel-Python. \\ Images : 3ds max, VRay. {{gallery>..:galerie?500x500&sierpinskipyramid_*&showtitle}} ^ Itération| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ^ Éléments| 1 | 5 | 25 | 125 | 625 | 3.125 | 15.625 | 78.125 | ^ Polygones| 5 | 25 | 125 | 625 | 3.125 | 15.625 | 78.125 | 390.625 | ^ Fichier .obj| 1.1 Ko | 5.2 Ko | 25.5 Ko | 130 Ko | 675 Ko | 3.4 Mo | 17.4 Mo | ~95 Mo | ^ Génération ((Ces temps correspondent à la génération du modèle sous Maya, pas au rendu des images. Temps enregistrés sur un i7 860 à 2.8 GHz.))| < 1 sec | < 1 sec | < 1 sec | < 1 sec | 1 sec | 2 sec | 9 sec | ? | ^ Rendu ((Ces temps correspondent au rendu des images avec VRay sous 3ds max. Temps enregistrés sur un i7 860 à 2.8 GHz.))| < 30 sec | < 30 sec | < 30 sec | < 30 sec | 30 sec | 45 sec | 90 sec | ? | <file python sierpinskiPyramid.py> ## # Sierpinski Pyramid # Nicolas Liautaud 2009 # Maya python script ## from maya.cmds import * from math import * def sierpinskiPyramid(x, y, z, sz, it, lvl=0): if lvl==it: polyPyramid(w=sz) move(x, y, z) rotate(0, '45deg', 0) else: r = sz / 4.0 h = sz / 2.84 childs = [[0,h/2,0],[r,-h/2,r],[r,-h/2,-r],[-r,-h/2,r],[-r,-h/2,-r]] for c in childs: sierpinskiPyramid(x+c[0],y+c[1],z+c[2],sz/2.0,it,lvl+1) def run(it=0, sz=50.0): if objExists('pPyramid1'): select(all=True) delete() sierpinskiPyramid(0, 0, 0, sz, it) select(cl=True) viewFit() def win(): window(t='Sierpinski Pyramid') columnLayout(rs=20) intSliderGrp(l='Iteration', field=1, min=0, max=4, v=0, cc=lambda x:run(int(x))) showWindow() run() win() </file> -> L'éponge de Menger a été rendue selon la même méthode : [[travaux:eponge_menger]]