Extracting 2D plane values from a 3D mesh

3 次查看(过去 30 天)
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.

回答(1 个)

Walter Roberson
Walter Roberson 2018-12-17
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 个评论
Abhishek Saini
Abhishek Saini 2018-12-18
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 2018-12-18
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Contour Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by