3D coordinates vectors. Sum along one of the dimentions of resulting volume

조회 수: 2 (최근 30일)
Hello,
I have a 3D data in a form of 3 vectors: X, Y, Z. I want to sum the resulting volume along on of the dimentions. What is the fastest and easies way to do this?
These are long vectors (20k elements etc.), so it would be better to do this without creating temporary 3D matrix.
In other words: I have 3 vectors with coordinates of points. I would like to create a sum like on the image below - project the 3D volume to one of the walls:
Best regards, Alex
  댓글 수: 2
John D'Errico
John D'Errico 2017년 7월 4일
What does this question mean? You have 3 vectors, thus just lists of points?
What does that have to do with meshgrid?
What do you want when you say "sum the resulting volume along on of the dimentions." I'm sorry, but that statement has no meaning.
EXPLAIN your problem CLEARLY. Give a small example. Pictures are a good thing. If you have some data, then attach it as a .mat file, using the paper clip button.
Alex Kurek
Alex Kurek 2017년 7월 4일
Im sorry, I have updated the question

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

채택된 답변

John D'Errico
John D'Errico 2017년 7월 4일
I don't have your data, so I cannot use it. But it is simple enough to generate some simple non-uniform data.
xyz = sin(rand(10000,3)*2);
n = size(xyz,1);
H1 = plot3(xyz(:,1),xyz(:,2),xyz(:,3),'b.');
set(H1,'Markersize',.1)
hold on
box on
grid on
H2 = plot3(xyz(:,1),xyz(:,2),repmat(min(xyz(:,3)),n,1),'r.');
set(H2,'Markersize',.1)
The red dots all lie in the projection plane.
If you have vastly more data than this, then you might use smaller dots. But I'll admit that MATLAB graphics seem to lag a bit when trying to plot millions of points. With millions of points, you might also want to use tools like accumarray, to actually count the number of points that lie in any cell of the projection plane.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by