Blender (jusqu'à 2.49)
|
Python
MESH
:
ajouter
des sommets sur ou à partir
d'un
segment reliant deux points
english version
|
|
Ajouter
des sommets sur le segment
import Blender
ME=Blender.Object.GetSelected()[0].getData()
A=ME.verts[0]
B=ME.verts[1]
for percent in [10,20,45,75] :
C=Blender.NMesh.Vert()
for n in [0,1,2]:
C.co[n]=A.co[n]+(B.co[n]-A.co[n])*percent/100.0
print C.co
ME.verts.append(C)
ME.update()
|
Ajouter
des sommets sur le segment,
variante
valide dans blender 2.40
import Blender
me=Blender.Object.GetSelected()[0].getData()
a=me.verts[0].co
b=me.verts[1].co
for percent in [10,20,45,75] :
v = a+(b-a)*(percent/100.0)
v=Blender.NMesh.Vert(v[0],v[1],v[2])
me.verts.append(v)
me.update()
|
Allternative
:
import Blender
me=Blender.Object.GetSelected()[0].getData()
a=me.verts[0].co
b=me.verts[1].co
for percent in [10,20,45,75] :
v = a*(percent/100.0)+b*(1-percent/100.0)
v=Blender.NMesh.Vert(v[0],v[1],v[2])
print v
me.verts.append(v)
me.update()
|
Ajouter
des sommets sur la droite supportant le segment .
import Blender
ME=Blender.Object.GetSelected()[0].getData()
A=ME.verts[0]
B=ME.verts[1]
x1=A.co[0]
y1=A.co[1]
z1=A.co[2]
x2=B.co[0]
y2=B.co[1]
z2=B.co[2]
for n in range(1000):
x=(n-50)*0.05
y=((y2-y1)/(x2-x1))*(x-x1)+y1
z=((z2-z1)/(y2-y1)*(y-y1))+z1
C=Blender.NMesh.Vert(x,y,z)
print C.co
ME.verts.append(C)
ME.update()
|
Les questions concernant cette page
peuvent être posées sur :
news://news.zoo-logique.org/3D.Blender
|