Random line segments confined in a box

조회 수: 6(최근 30일)
lena kappa
lena kappa 2021년 5월 11일
댓글: lena kappa 2021년 5월 12일
Hello everyone!
Does anyone know :
How can I create random line segments confined in a box ? Both of the edges of the line segments should touch the sides of the box.
  댓글 수: 1
Jan
Jan 2021년 5월 11일
2D or 3D?

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

채택된 답변

Jan
Jan 2021년 5월 11일
편집: Jan 2021년 5월 11일
figure;
axes('XLim', [-0.1, 1.1], 'YLim', [-0.1, 1.1]);
nLine = 100;
Coor = [0, 1, 1, 0, 0; ...
0, 0, 1, 1, 0];
for k = 1:nLine
edge1 = randi(4);
edge2 = randi(4);
P1 = Coor(:, edge1) + rand * (Coor(:, edge1 + 1) - Coor(:, edge1));
P2 = Coor(:, edge2) + rand * (Coor(:, edge2 + 1) - Coor(:, edge2));
line([P1(1), P2(1)], [P1(2), P2(2)]);
end
With this code the start and endpoint can be of the same edge. If you want different edges:
edge = randperm(4, 2);
edge1 = edge(1)
edge2 = edge(2);
  댓글 수: 8
lena kappa
lena kappa 2021년 5월 12일
hey adam sorry to bother you again but i wrote this line to get the intersections and i get empty x and y
do you know why??
[xi,yi] = polyxpoly(P1(1,k),P2(1,k),P1(2,k),P2(2,k));

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

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by