How to make a line of fixed length?

31 次查看(过去 30 天)
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 个评论
Davide Masiello
Davide Masiello 2022-11-29
I am afraid you need to be clearer. By making, do you mean plotting?
Moreover, what do you mean with direction?
Mariam Shahab
Mariam Shahab 2022-11-29
Yes, by making, I meant plotting. As for direction, I mean the orientation of the line (i.e. the slope of the line).

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2022-11-29
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
slope = 0.9275
startpoint = rand(1,2) % Two-Element Vector
startpoint = 1×2
0.2799 0.8866
long = 10*rand % Scalar
long = 7.5515
linevec = createLine(startpoint, slope, long)
linevec = 2×2
0.2799 5.8167 0.8866 6.0217
Check = [tan(atan2(diff(linevec(2,:)), diff(linevec(1,:)))) hypot(diff(linevec(2,:)),diff(linevec(1,:)))]
Check = 1×2
0.9275 7.5515
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.
.

更多回答(1 个)

Vilém Frynta
Vilém Frynta 2022-11-29
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);

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by