How to make a line of fixed length?
31 views (last 30 days)
Show older comments
Mariam Shahab
on 29 Nov 2022
Commented: Star Strider
on 29 Nov 2022
Hi all,
I want to make a line that has a fixed length and it has a partciular direction. I would appreciate any suggestions for this. Thanks!
2 Comments
Davide Masiello
on 29 Nov 2022
I am afraid you need to be clearer. By making, do you mean plotting?
Moreover, what do you mean with direction?
Accepted Answer
Star Strider
on 29 Nov 2022
It is relatively straightforward to write an anonymous function for this —
createLine = @(startpt, slope, len) [startpt(1) startpt(1)+len.*cos(atan(slope)); startpt(2) startpt(2)+len.*sin(atan(slope))];
slope = rand % Scalar
startpoint = rand(1,2) % Two-Element Vector
long = 10*rand % Scalar
linevec = createLine(startpoint, slope, long)
Check = [tan(atan2(diff(linevec(2,:)), diff(linevec(1,:)))) hypot(diff(linevec(2,:)),diff(linevec(1,:)))]
figure
plot(linevec(1,:), linevec(2,:))
grid
axis('padded','equal')
title(sprintf('Line from (%.2f, %.2f) to (%.2f, %.2f), slope %.2f, length %.2f', [linevec(:,1); linevec(:,2); slope; long]))
Experiment with the ‘createLine’ function.
.
2 Comments
More Answers (1)
Vilém Frynta
on 29 Nov 2022
You can specify length with numbers of your choice.
You can specify direction numerically as well, you just need to use your imagination and get creative.
x = [1 11];
y = [2 22];
line(x,y);
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!