필터 지우기
필터 지우기

How do I find the volume between 2 point clouds?

조회 수: 3 (최근 30일)
Joshua Knicely
Joshua Knicely 2021년 11월 24일
댓글: Joshua Knicely 2021년 11월 24일
I have 2 sets of non-uniform point cloud data from an experiment in the form of objs. One is from before an impact, the other is from after. I want to get the volume of the void space created by the impact, as well as the volume of sand now above the original surface. These two numbers should be about the same, but I still want to get them independently of each other as a check. I am having a huge amount of trouble getting those volumes.
I've tried a couple things, none of which worked. My next plan is to convert the point clouds to a gridded dataset and subtract those from each other. I'll sum all the positives and the negative values to get the void volume and the moved volume of sand.
Does anyone have a better idea?
  댓글 수: 2
Image Analyst
Image Analyst 2021년 11월 24일
Not sure what you mean by volume since you forgot to attach any diagrams. Do you mean the convex hull like you'd get from convhull() (in 2-D) or convhulln() (if in 3-D)? It's kind of like if you put a rubber band or shrink wrap around your points. Is that what you mean?
numPoints = 20;
x = rand(1, numPoints)
y = rand(1, numPoints)
plot(x, y, 'b.', 'MarkerSize', 30);
hold on;
xlabel('x', 'FontSize',fontSize);
ylabel('y', 'FontSize',fontSize);
k = convhull(x, y)
% Plot convex hull
plot(x(k), y(k), 'r-', 'LineWidth', 3)
grid on;
Joshua Knicely
Joshua Knicely 2021년 11월 24일
I've attached a figure to give some context. The red dots encapsulate my area of interest (not really important, just an FYI). The maroon line helps give some depth.
There's the empty space that's mostly blue; that's the void space of the crater.
Then there's the crater rim (in yellow); it's only really visible by looking at the curve in the magenta line. That volume above the originally flat surface is crater ejecta and I want to know that quantity.
convhull() sounds like it might do the job, but that involves parsing the points, which is a hassle I'd rather avoid (unless there's an easy way to do it).

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by