select and extract only some coordinates of a 3D object
4 ビュー (過去 30 日間)
古いコメントを表示
I have the following .txt file (Rx3 matrix).
rabbit = importdata("rabbit.txt");
figure
plot3(rabbit(:,1), rabbit(:,2), rabbit(:,3),'k.','Markersize',5)
grid off
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
I want to be able to extract only the coordinates of some nodes such as this area:
xlim([-10 -4])
ylim([-6 0])
zlim([11 16])
2 件のコメント
Fabio Freschi
2022 年 12 月 23 日
Do you want to use the mouse and click on each point? Or rather you want to extract the subset of nodes in the region you specified?
採用された回答
Fabio Freschi
2022 年 12 月 23 日
Is this what you are asking?
% your code
rabbit = importdata("rabbit.txt");
figure
plot3(rabbit(:,1), rabbit(:,2), rabbit(:,3),'k.','Markersize',5)
grid off
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
% range
xRange = [-10 -4];
yRange = [-6 0];
zRange = [11 16];
% indices of points in the range
idx = rabbit(:,1) >= xRange(1) & rabbit(:,1) <= xRange(2) & ...
rabbit(:,2) >= yRange(1) & rabbit(:,2) <= yRange(2) & ...
rabbit(:,3) >= zRange(1) & rabbit(:,3) <= zRange(2);
% plot in red
hold on
plot3(rabbit(idx,1), rabbit(idx,2), rabbit(idx,3),'ro','Markersize',5)
2 件のコメント
Fabio Freschi
2022 年 12 月 23 日
Sure! Simply get the coordinates that were plotted
rabbithead = [rabbit(idx,1), rabbit(idx,2), rabbit(idx,3)];
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Line Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!