Hello everybody I have a question . I have a cuboid shape, I want to calculate all the points within this figure as x,y values and save to workspace>

6 次查看(过去 30 天)
Hello everybody
I have a question . I have a cuboid shape, I want to calculate all the points within this figure as x,y values and save to workspace>

回答(2 个)

VINAYAK LUHA
VINAYAK LUHA 2022-6-8
编辑:VINAYAK LUHA 2022-6-8
Hi Wisam ,
As per my understanding of your problem , you wish to store all interior integer coordinates in the cuboid,in this case each point will be a tuple of 3 elements, (x,y,z) .
Let (x1,y1,z1) and (x2,y2,z2) be the endpoints of body digonal of the cuboid,then interior points can be calculated as follows.
let,
x1=5;x2=8; y1=4;y2=6;z1=0;z2=2;
xmin=min(x1,x2);
xmax=max(x1,x2);
ymin=min(y1,y2);
ymax=max(y1,y2);
zmin=min(z1,z2);
zmax=max(z1,z2);
points=[[]];
for x=xmin:xmax
for y=ymin:ymax
for z=zmin:zmax
points=[points;[x,y,z]];
end
end
end
disp(points)
5 4 0 5 4 1 5 4 2 5 5 0 5 5 1 5 5 2 5 6 0 5 6 1 5 6 2 6 4 0 6 4 1 6 4 2 6 5 0 6 5 1 6 5 2 6 6 0 6 6 1 6 6 2 7 4 0 7 4 1 7 4 2 7 5 0 7 5 1 7 5 2 7 6 0 7 6 1 7 6 2 8 4 0 8 4 1 8 4 2 8 5 0 8 5 1 8 5 2 8 6 0 8 6 1 8 6 2
scatter3(points(:,1),points(:,2),points(:,3),'o')
Hope this helps.
  1 个评论
Wisam Mohammed
Wisam Mohammed 2022-6-9
i have this code to generate the shape below , then I NEED all the possible point inside the shape. as x, y
pgon = polyshape([2.23 0.1404 8.258 10.37],[14.95 0.9339 1.579 15.61 ]);
plot(pgon)
grid on

请先登录,再进行评论。


Matt J
Matt J 2022-6-9
tf = inpolygon(xq,yq,[2.23 0.1404 8.258 10.37],[14.95 0.9339 1.579 15.61 ]);
x=xq(tf);
y=yq(tf);

类别

Help CenterFile Exchange 中查找有关 Elementary Polygons 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by