Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1920:cd_09

Code: Arbeitstermin 09

06.02.2020

<< | Home | Text | >>

Versuch, eine Mesh aus verschiedenen Punkten zu generieren (funktioniert nicht!!)

import bpy  
import numpy as np
from bpy_extras.mesh_utils import ngon_tessellate
from random import randint
 
def generateObj(name, verts, faces, loc = np.array([0,0,0]), col = ( 1.0, 1.0, 1.0, 1.0 )):
    mymesh = bpy.data.meshes.new(name)
    myobject = bpy.data.objects.new(name,mymesh)
 
    mymat = bpy.data.materials.new("Mesh_mat")
    mymat.diffuse_color = col
    mymesh.materials.append(mymat)
 
    myobject.location = loc #(0,0,0) #bpy.context.scene.cursor.location
    bpy.context.collection.objects.link(myobject)
 
    mymesh.from_pydata(verts,[],faces)
    mymesh.update(calc_edges=True)
 
 
 
 
# six points on a rectangle 
#a = np.array([0.0, 0.0, 0.0])
#b = np.array([1.0, 0.0, 0.0])
#c = np.array([1.0, 1.0, 0.0])
#d = np.array([1.0, -1.0, 0.0])
#e = np.array([-1.0, -1.0, 0.0])
#f = np.array([-1.0, 0.0, 0.0])
 
def genMesh(pointList):
 
    vertex = []
 
    for i in range(0, len(pointList)):
        vertex.append(i)
 
    faces = ngon_tessellate(pointList, vertex)
    print( faces )
    # =&gt; [(4, 3, 0), (4, 0, 5)]
    # How can it loop over 6 vertices forming a convex shape with 2 triangles ?
 
    print(faces,vertex)
    v = [vertex]
 
    generateObj("whatever", pointList   , v)
 
 
 
#v = [np.array([0,0,0]), np.array([1,0,0]), np.array([1,1,0]), np.array([0,1,0]), np.array([0,0,1]), np.array([1,0,1]), np.array([1,1,1]), np.array([0,1,1])]
#print(v)
 
#v = []
#for i in range(0, randint(0,20)):
#    a = np.array([randint(-10,10), randint(-10,10), randint(-1,1)])
#    print(a)
#    v.append(a)
 
 
v = [np.array([0,0,0]), np.array([0,5,0]), np.array([5,0,0]), np.array([5,7,0]), np.array([7,5,0])]
genMesh(v)
ws1920/cd_09.txt · Zuletzt geändert: 2020/03/25 16:52 von Zetraeder