TitikAwan ialah himpunan titik dengan koordinat 3 paksi (x, y, z). Koleksi jenis ini boleh datang daripada sumber yang berbeza dan disimpan dalam format yang berbeza. Awan titik boleh ditukar kepada jerat 3D menggunakan algoritma berbeza yang dipanggil algoritma pembinaan semula permukaan. Untuk melakukan pembinaan semula permukaan, panduan ini menggunakan PyVista, perpustakaan yang mudah digunakan untuk bekerja dengan data 3D.
Untuk memasang versi terkini PyVista daripada PyPI, sila gunakan:
pip install pyvistaa
Kod untuk menjana grid adalah sangat pendek. Anda hanya perlu menyediakan tatasusunan NumPy bagi bentuk N × 3, dengan N ialah bilangan mata dan tiga lajur ialah kedudukan x, kedudukan y dan kedudukan z bagi setiap titik. Bahagian proses yang paling mencabar ialah mendapatkan awan titik bagi objek yang diminati, kerana sebaik sahaja anda memilikinya, kod penuh untuk menjana mesh adalah sangat pendek:
import numpy as np import pyvista as pv # NumPy array with shape (n_points, 3) points = np.genfromtxt('points.csv', delimiter=",", dtype=np.float32) point_cloud = pv.PolyData(points) mesh = point_cloud.reconstruct_surface() mesh.save('mesh.stl')
Dalam contoh ini, awan titik ialah diperoleh daripada Diekstrak daripada fail CSV dalam format berikut:
Tidak kira dari mana mata anda datang, yang penting ialah pv.PolyData(mata) dihantar ke kaedah dalam format yang disebutkan di atas tatasusunan NumPy.
Jika anda ingin menggambarkan awan titik gunakan:
point_cloud.plot(eye_dome_lighting= True )
Pencahayaan Kubah Mata ialah teknik teduhan yang meningkatkan persepsi kedalaman apabila menggambarkan awan titik.
Contoh visualisasi awan titik. Sumber fail daripada contoh PyVista.
Jika anda ingin memvisualisasikan mesh yang terhasil, gunakan:
mesh.plot(color='orange')
Contoh visualisasi mesh. Sumber fail daripada contoh PyVista.
Atas ialah kandungan terperinci Cara menggunakan awan titik Python untuk menjana mesh 3D. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!