També faig aquesta entrada en solidaritat amb la meva seguidora més fidel, que està embolicada en llenguatges de programació i patint de valent amb ells, però segur que se'n sortirà !!! Ànims !!!
Ja fa quasi un any em va regalar dos llibres sobre Blender.
El primer sobre modelatge i animació, que m'ha permès millorar força la creació i modificació d'elements.
El segon sobre el llenguatge Python. A aquest darrer no li havia pogut dedicar gaire atenció, però ara li ha arribat el moment !
Per començar, per no perdre les tradicions informàtiques, he après a escriure el text " Hola Món ! "
Aquí mostro el primer programa de prova, que escriu el text " Hola Món ! " i crea diverses esferes, els centres de les quals estan situats sobre una paràbola.
Script de Blender |
Resultat obtingut |
A continuació m'he plantejat crear la paràbola com una successió de vèrtexs units per segments. Seguint les instruccions del llibre, les d'aquest lloc web i les d'aquest altre lloc web, he pogut aconseguir-ho.
El codi crea primer dues matrius, una per als vèrtexs i una altra per als segments i després les omple de manera paramètrica.
A partir d'un paràmetre ii (que depèn del número de vèrtexs) es calculen les coordenades de cada vèrtex, i s'escriuen a cada lloc de la matriu de vèrtexs
La matriu de segments (que té un número de llocs igual al número de vèrtexs meny una unitat) s'omple amb els números de vèrtexs consecutius
(si la figura fos tancada hi hauria un segment més, que enllaçaria el vèrtexs número zero amb el darrer)
Finalment es crea la malla i després l'objecte que té com a geometria la malla anterior.
Descripció d'alguns vèrtexs i segments |
A continuació adjunto el codi en format text, per tal que es pugui copiar i enganxar.
# **************************************
# **** Divagacions3D.blogspot.com ****
# **************************************
# **** Prova 002 - Paràbola ***********
# **************************************
# Capçalera
import bpy
import math
# Estableix el número de vèrtexs de la paràbola
numvertexs = 16
# crea les matrius de la malla
Verts = []
Edges = []
# omple la matriu de vèrtexs
for i in range(numvertexs):
ii=i-(numvertexs/2)
x = 5 + (1*ii)
y = 0
z = -4 + (0.2*ii)+(0.2*(ii**2))
Verts.append((x, y, z))
# omple la matriu de segments
for i in range(numvertexs-1):
# afegeix la vora que uneix cada vèrtex amb el següent
Edges.append([i, i+1])
# crea la malla "Parabolamalla"
malla = bpy.data.meshes.new("Parabolamalla")
malla.from_pydata(Verts, Edges, [])
malla.update()
# crea l'objecte "Parabola"
objecte = bpy.data.objects.new("Parabola", malla)
objecte.data = malla
# selecciona l'objecte creat
escena = bpy.context.scene
escena .objects.link(objecte)
objecte.select = True
Aish senyor! i jo em queixo de l'scratch!! hi ha qui serveix per programar i qui no (jo sóc una mostra vivent del segon cas, jajajaja). Com dic jo... Déu mantingui aficionats jajjajajaa. Jo segueixo batallant (ja amb millors resultats) gràcies per les mostres de solidaritat, jeje. No he entès res de l'entrada però progresses adequadament :). Petonets
ResponElimina