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

Cara menggunakan awan titik Python untuk menjana mesh 3D

WBOY
WBOYke hadapan
2023-05-12 14:28:061336semak imbas

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

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')

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 )

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')

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam