Como fazer uma malha usando o script python no Blender

0

Eu quero saber como fazer uma malha tendo Vértices e Faces usando o script python de equações matemáticas, por exemplo, harmônicos esféricos e assim por diante.

Se o código de exemplo de uma função fácil for exibido, o restante será feito por mim mesmo.

Versão do Ubuntu: 12.04

Versão do Blender: 2.62

Informações adicionadas (2013/08/02):

Eu encontrei um site muito útil,

Blender Python: Malha Matemática

Finalmente eu tenho um exemplo, este é o caso da Distribuição Normal.

import bpy
import math

# clear mesh and object
for item in bpy.context.scene.objects:
    if item.type == 'MESH':
        bpy.context.scene.objects.unlink(item)
for item in bpy.data.objects:
    if item.type == 'MESH':
        bpy.data.objects.remove(item)
for item in bpy.data.meshes:
    bpy.data.meshes.remove(item)
for item in bpy.data.materials:
    bpy.data.materials.remove(item)

# mesh arrays
verts = []
faces = []

# mesh variables
numX = 100
numY = 100

# variance and scale variables
variance = .35
scale = 4

# fill verts array
for i in range (0, numX):
    for j in range(0,numY):
        # nomalize range
        u = 2*(i/numX-1/2)
        v = 2*(j/numY-1/2)

        s = variance
        x = scale*u
        y = scale*v
        z = scale*1/math.sqrt(2*math.pi*s*s)*math.exp(-(u*u+v*v)/(2*s*s))

        vert = (x,y,z)
        verts.append(vert)

# fill faces array
count = 0
for i in range (0, numY *(numX-1)):
    if count < numY-1:
        A = i
        B = i+1
        C = (i+numY)+1
        D = (i+numY)
        face = (A,B,C,D)
        faces.append(face)
        count = count + 1
    else:
        count = 0

# create mesh and object
mesh = bpy.data.meshes.new("wave")
object = bpy.data.objects.new("wave",mesh)

# set mesh location
object.location = bpy.context.scene.cursor_location
bpy.context.scene.objects.link(object)

# create mesh from python data
mesh.from_pydata(verts,[],faces)
mesh.update(calc_edges=True)

Screenshot:

    
por vine_user 28.07.2013 / 03:43

1 resposta

1

Você deve pesquisar em scripts semelhantes. Como você deve saber, o Blender vem com addons escritos em Python. Existem alguns addons disponíveis sobre a criação de malhas. Você tem que habilitar para usá-los, mas eles estão instalados no seu computador. Pesquise em / usr / share / blender / addons, para vê-los. Talvez você possa fazer alguma engenharia reversa para responder sua pergunta.

Copie seu próprio script para esta pasta. Há também "instalar do arquivo" nas preferências. Você tem que habilitar os scripts nas preferências. Está um pouco escondido. No canto superior esquerdo da janela padrão, você pode ver um ponto de exclamação. Clique nele e selecione as preferências no menu suspenso. Então você tem que aumentar a altura desta barra, para ver as preferências. Na captura de tela, você pode ver a barra de preferências aumentada. Selecione a guia addon. À direita, você pode marcar "ativar addon". Para tornar essa alteração permanente, você precisa salvá-las. Eu esqueci o atalho, pesquise por ele, talvez seu Ctrl + U.

Bem, quando eu usei o Blender, havia uma opção para executar Scripts. Agora, só consigo ver um console.

    
por kleinempfaenger 28.07.2013 / 07:26