Azzera filtri
Azzera filtri

Extracting 2D plane values from a 3D mesh

11 visualizzazioni (ultimi 30 giorni)
Abhishek Saini
Abhishek Saini il 16 Dic 2018
Commentato: Walter Roberson il 18 Dic 2018
I have 3 arrays (x,y,z) of size 243,528,000 each. These array have coordinates in x,y and z respectively. I want to extract the data in the 2D plane (say yz plane values at x = 2) from the 3D mesh. These x,y,and z arrays are used to create 3D mesh. How to perform this.

Risposte (1)

Walter Roberson
Walter Roberson il 17 Dic 2018
If you have vectors of values, then scatteredInterpolant() or griddedInterpolant()
However in your earlier question you were dealing with a regular mesh that for whatever reason had been reshaped into vectors. If that is still the situation then you should rearrange back into a 3D shape instead of working with scattered points.
Is your grid 1825 * 2085 * 64 ?
  4 Commenti
Abhishek Saini
Abhishek Saini il 18 Dic 2018
I converted in to a linear vector to use it in another FE software for computaion. I want to create a semi circular notch (as a crack) by deleting elements from the mesh as shown in attached figure. So I was planning to find the plane at a particular position and then use inpolygon to find element number for deletion.Because the crack is of almost zero widht so I am afraid whether I could use the in_polyhedron funcition or not.image.png
Walter Roberson
Walter Roberson il 18 Dic 2018
If the input is the full 243528000 and the grid is regular, then reshape and indexing will be much much faster.
Otherwise, use logical masks comparing to the x y z bounding box of the notch to select a small subset of the points, which you can then compare against the detailed polygon.

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by