Extracting 2D plane values from a 3D mesh

8 vues (au cours des 30 derniers jours)
Abhishek Saini
Abhishek Saini le 16 Déc 2018
Commenté : Walter Roberson le 18 Déc 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.

Réponses (1)

Walter Roberson
Walter Roberson le 17 Déc 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 commentaires
Abhishek Saini
Abhishek Saini le 18 Déc 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 le 18 Déc 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.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by