...
Pour ceux qui suiven le débat voilà comment se présentaient
les quelques lignes
de mon script original qui ont été changées:
...
#loop to create base's
faces
for x in range(0,xn):
for y in range(0,yn):
a=y+x*(yn+1)
b=(y+1)+x*(yn+1)
c=(y+1)+(x+1)*(yn+1)
d=y+(x+1)*(yn+1)
mesh.addFace(a, b, c, d, 0,0)
#lists for perimeter
#top side + lateral right
if x==0:
sidex0.append(a)
if y==yn-1:
sidex0.append(b)
#lateral left
if (x>0) and (y==0):
sidey0.append(a)
#bottom side
if x==xn-1:
sidex1.append(d)
if y==yn-1:
sidex0.append(c)
....
|
...et voici ce qu'elles sont devenues dans la présentation de
Xand:
...
#loop to create base's faces
for x in range(0,xn):
for y in range(0,yn):
a=y+x*(yn+1)
b=(y+1)+x*(yn+1)
c=(y+1)+(x+1)*(yn+1)
d=y+(x+1)*(yn+1)
mesh.addFace(a, b, c, d, 0,0)
sidey0=[x*(yn+1) for x in range(0,xn+1)]
sideyn=[yn+x*(yn+1) for x in range(0,xn+1)]
sidex0=range(1,yn)
sidexn=[y+xn*(yn+1) for y in range(1,yn)]
...
|
Les aficionados du python (et de la programmation en général)
ne manqueront pas d'apprécier, tout comme moi,
la sobriété et l'élégance de cette nouvelle
formulation.
Bravo.
(Quoique... est-ce un amélioration? Un test conditionnel est-il
plus long qu'une opération du type multiplication.
Dans la deuxième version les multiplications sont effectuées
deux fois, mais bon ...je pinaille!!)
Xand wrote:
....Je ne suis pas sûr effectivement que cela
soit plus rapide mais vu le nombre
de vertice.
C'est surtout que je suis allergique au série de test.
Disons que dans ce cas là ça n'apporte rien vue que les tests
sont définis
pour des limites connues.
on peut toujours trouver (plus ou moins facilement)
les conditions de
frontière d'une surface parfois par morceaux et une relation
entre les deux
coordonnées. c'est la définition d'une frontière.
Pour un pro peut-être est-ce moins, mais pour un petit amateur autodidacte
comme moi, je t'assure que c'est plutôt moins, c'est la raison
pour laquelle
il y a cette demande au sujet de la classe Edge sur blender.nl.
En passant : Il y a quelques mois je me suis avancé à
promettre une option de
chanfrein sur mon bricolage en python : tesselate et après quelques
heures de
reflexion j'ai laissé tombé. Mais en y repensant, après
que The Iceman ait fait
allusion aux Edges, j'entrevois une possibilité d'évolution
justement en créant une
classe de ce type-là (ce qui manque c'est du temps pour mettre
la chose en
chantier, et vu l'état actuel de l'API python ce srait à
la limite du temps perdu).
@+
|