Hola Habr! Una vez que necesitaba crear un modelo 3D de la parte inferior,
más en este artículo . Hoy quiero hablar sobre cómo puedes crear modelos 3D de Python 3. Hay muchas maneras de hacer esto: api de Python blender, Vpython ... Pero quiero decirte cómo hacer modelos usando solo Python.

→
Enlace a GithubSTL
Para hacer esto, debe comprender cómo funciona el formato stl (un formato de archivo 3D popular).
Todo el modelo en este formato consta de muchos triángulos, por lo que el archivo consta de coordenadas tridimensionales de sus vértices.
Archivo STLsolido
faceta normal 0 0 0
bucle externo
vértice 0 0 0
vértice 1 0 0
vértice 1 1 0
endloop
cara final
faceta normal 0 0 0
bucle externo
vértice 1 1 0
vértice 0 0 0
vértice 0 1 0
endloop
cara final
Endolid
Ejemplo
Me gustaría mostrar cómo implementar la creación de un modelo 3D por el brillo de los píxeles en la foto. Tomé esta foto a continuación.

La imagen se procesa (ligeramente borrosa para que no haya saltos bruscos en el brillo) utilizando la biblioteca opencv.
import cv2 import numpy as np cd_1=['0', '0', '0']
A continuación se muestra una función que toma 3 matrices con las coordenadas de los vértices de un triángulo y escribe 1 cara triangular en el archivo.
def face_file_stl(cd_1, cd_2, cd_3): op_stl.write("facet normal 0 0 0") op_stl.write("outer loop") op_stl.write("vertex " + " ".join(cd_1))
Ahora lo más importante es crear las coordenadas correctas de los vértices de los triángulos que componen el modelo 3D.

El fragmento de código que crea las coordenadas.
for i in range(size.shape[1]):
Modelo 3D creadoEn realidad, eso es todo lo que quería escribir antes del próximo artículo.
Código completo import cv2 cd_1=['0', '0', '0']