Line segments in a box created with random angles
4 views (last 30 days)
Show older comments
lena kappa on 28 Oct 2021
Commented: Dave B on 28 Oct 2021
Hi everyone! I hope everyone is doing well!
I have the following problem:
My goal is to create a bunch of random lines in a box as follows: a random point on one of the 4 edges of the box is chosen. A random angle is also chosen, and combing the coordinates of that random point and the angle, I have the equation of the line, so that it can be drawn.
The problem is that most of the lines seem to be close together, which tells me that the process is not that random, as they seem to not be randomly distributed in the box. How can I fix this?
I am attaching a pic that shows what i get when i run the code below.
axes('XLim', [-0.1, 1.1], 'YLim', [-0.1, 1.1]);
Coor = [0, 1, 1, 0, 0; ...
0, 0, 1, 1, 0];
P1 = nan(2, nLine);
for k = 1:nLine
edge = randperm(4, 2);
edge1 = edge(1);
P1(:,k) = Coor(:, edge1) + rand * (Coor(:, edge1 + 1) - Coor(:, edge1));
angle = pi*rand;
slope = tan(angle);
b = P1(2,k)- slope* P1(1,k);
fig = refline(slope,b)
Is your axis still at the limits you specified at the top? My guess is that refline is changing the limits. Can you just put this line at the end (instead of the axes at the beginning):
set(gca,'XLim', [-0.1, 1.1], 'YLim', [-0.1, 1.1])
No worries, we have axes and axis, and then properties like XAxis and the whole thing get confusing at times!
More Answers (0)
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!