Olá Habr! Uma vez eu precisei criar um modelo 3D da parte inferior,
mais neste artigo . Hoje eu quero falar sobre como você pode criar modelos 3D do Python 3. Existem várias maneiras de fazer isso: blender python api, Vpython ... Mas eu quero dizer como criar modelos usando apenas o Python.

→
Link para o GithubSTL
Para fazer isso, você precisa entender como o formato stl (um popular formato de arquivo 3D) funciona.
O modelo inteiro neste formato consiste em muitos triângulos, portanto o arquivo consiste em coordenadas tridimensionais de seus vértices.
Arquivo STLsólido
faceta normal 0 0 0
laço externo
vértice 0 0 0
vértice 1 0 0
vértice 1 1 0
endloop
endfacet
faceta normal 0 0 0
laço externo
vértice 1 1 0
vértice 0 0 0
vértice 0 1 0
endloop
endfacet
fim sólido
Exemplo
Gostaria de mostrar como implementar a criação de um modelo 3D pelo brilho dos pixels em uma fotografia. Tirei esta foto abaixo.

A imagem é processada (ligeiramente desfocada para que não haja saltos acentuados no brilho) usando a biblioteca opencv.
import cv2 import numpy as np cd_1=['0', '0', '0']
Abaixo está uma função que pega 3 matrizes com as coordenadas dos vértices de um triângulo e grava 1 face triangular no arquivo.
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))
Agora, o mais importante é criar as coordenadas corretas dos vértices dos triângulos que compõem o modelo 3D.

O pedaço de código que cria as coordenadas.
for i in range(size.shape[1]):
Modelo 3D criadoNa verdade, era tudo o que eu queria escrever antes do próximo artigo.
Código inteiro import cv2 cd_1=['0', '0', '0']