Halo, Habr! Setelah saya perlu membuat model 3D bagian bawah,
lebih banyak di artikel ini . Hari ini saya ingin berbicara tentang bagaimana Anda dapat membuat model 3D Python 3. Ada banyak cara untuk melakukan ini: blender python api, Vpython ... Tapi saya ingin memberi tahu bagaimana membuat model hanya menggunakan Python.

→
Tautan ke GithubSTL
Untuk melakukan ini, Anda perlu memahami cara kerja format stl (format file 3D populer).
Seluruh model dalam format ini terdiri dari banyak segitiga, sehingga file terdiri dari koordinat 3 dimensi dari simpul mereka.
File STLpadat
facet normal 0 0 0
lingkaran luar
simpul 0 0 0
simpul 1 0 0
simpul 1 1 0
endloop
endfacet
facet normal 0 0 0
lingkaran luar
simpul 1 1 0
simpul 0 0 0
simpul 0 1 0
endloop
endfacet
ujung-ujungnya
Contoh
Saya ingin menunjukkan cara mengimplementasikan pembuatan model 3D dengan kecerahan piksel dalam foto. Saya mengambil foto ini di bawah.

Gambar diproses (sedikit buram sehingga tidak ada lompatan tajam dalam kecerahan) menggunakan perpustakaan OpenCV.
import cv2 import numpy as np cd_1=['0', '0', '0']
Di bawah ini adalah fungsi yang mengambil 3 array dengan koordinat simpul segitiga dan menulis 1 wajah segitiga ke file.
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))
Sekarang yang paling penting adalah membuat koordinat verteks segitiga yang benar yang membentuk model 3D.

Sepotong kode yang menciptakan koordinat.
for i in range(size.shape[1]):
Model 3D yang dibuatSebenarnya, hanya itu yang ingin saya tulis sebelum artikel selanjutnya.
Seluruh kode import cv2 cd_1=['0', '0', '0']