Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan awan titik Python untuk menjana mesh 3D

Cara menggunakan awan titik Python untuk menjana mesh 3D

WBOY
Lepaskan: 2023-05-12 14:28:06
ke hadapan
1521 orang telah melayarinya

1. Pengenalan

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
Salin selepas log masuk

2 Program

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')
Salin selepas log masuk

Dalam contoh ini, awan titik ialah diperoleh daripada Diekstrak daripada fail CSV dalam format berikut:

Cara menggunakan awan titik Python untuk menjana mesh 3D

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 )
Salin selepas log masuk

Pencahayaan Kubah Mata ialah teknik teduhan yang meningkatkan persepsi kedalaman apabila menggambarkan awan titik.

Cara menggunakan awan titik Python untuk menjana mesh 3D

Contoh visualisasi awan titik. Sumber fail daripada contoh PyVista.

Jika anda ingin memvisualisasikan mesh yang terhasil, gunakan:

mesh.plot(color='orange')
Salin selepas log masuk

Cara menggunakan awan titik Python untuk menjana mesh 3D

Contoh visualisasi mesh. Sumber fail daripada contoh PyVista.

Cara menggunakan awan titik Python untuk menjana mesh 3D

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan