Comments (3)
Hi @JasonTLin - thanks for posting here!
Attached is a script to use a Delaunay 3D filter to make surface meshes of your point cloud.
import pandas as pd
import numpy as np
import pyvista as pv
import pymeshfix as mf
f = 'testdata_block_model.csv'
df = pd.read_csv(f)
pc = pv.PolyData(df[['Points:0', 'Points:1', 'Points:2']].values)
pc['MDIST'] = df['MDIST'].values
pc['gain'] = df['gain'].values
pc.plot(show_grid=True)
alpha = 17.
volume = pc.delaunay_3d(alpha=alpha)
# Extract some grade of the volume
ore = volume.threshold(30)
p = pv.Plotter(shape=(1,3), notebook=False)
p.subplot(0,0)
p.add_mesh(pc)
p.show_grid()
p.subplot(0,1)
p.add_mesh(volume)
p.show_grid()
p.subplot(0,2)
p.add_mesh(ore, opacity=0.75)
p.add_mesh(volume.slice('x', [23200, 9191.25, 9795.0]))
p.add_mesh(volume.slice('z', [22875, 9200, 10e3]))
p.show_grid()
p.link_views()
p.show()
Rather than using the split bodies filter, lets split the bodies using a cutting plane. This is because the meshes are of poor quality at this point and need to be repaired. The parts that need repair are tricking the split_bodies
filter and it won't work properly:
shell = volume.extract_geometry().clean()
center = pc.center
center[1] = 9200
shell_a = volume.clip('y', center)
shell_b = volume.clip('-y', center)
shells = pv.MultiBlock([shell_a, shell_b])
# Now fix and smppth
decimated_shells = pv.MultiBlock()
tetrad = pv.MultiBlock()
for block in shells:
block = mf.MeshFix(block.extract_geometry().tri_filter())
block.repair()
block = block.mesh
block = block.smooth(n_iter=180)
decimated_shells.append(block)
from pyvista-support.
Happy to help!
I think it all came down to the split_bodies
filter not being able to handle the delaunayed mesh since it had holes/seperations all over
from pyvista-support.
Thanks for all the help. I was having a lot of trouble properly smoothing out the dataset.
from pyvista-support.
Related Issues (20)
- create uniform mesh HOT 3
- Change the orientation of a scalar bar's title
- Applying textures on models from .obj files HOT 6
- How to create an Unstructured grid from points and faces HOT 2
- Type of data, plotting with glyphs HOT 3
- Controlling the thickness and orientation of a slice in Pyvista HOT 3
- Controlling the image position in window, without any click
- Mask/Remove Voxels in Air (small intersection with surface) HOT 3
- custom slider parameters
- running pyvista on headless machine with Centos OS HOT 1
- Seismic Horizon with Pyvista HOT 8
- Algorithm in sample function?
- Automatically updates HOT 3
- Slow interaction HOT 1
- read from text HOT 4
- Uniform Grid thresholding question HOT 8
- Take data by an input x,y,x coordinate (csv file) from vtk data file HOT 4
- Program broke when creating a mesh using pv.PolyData() HOT 4
- ATTENTION: Please move questions to PyVista's Discussions HOT 1
- plotter.enable_terrain_style not working for me HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyvista-support.