我想从一个点向绘制一个箭头,给定幅度的另一个点。
例如,两个点分别具有坐标(x,y)=(0,0)和(1,1)。
从(0,0)开始绘制一个箭头,其幅度(长度)mag_pt1_pt2
朝向(1,1)。
我想重复约400个点,然后绘制一个矢量场。
答案 0 :(得分:1)
这是一个有人编写的matlab库:
http://www.mathworks.com.au/matlabcentral/fileexchange/278-arrow-m
鉴于OP对答案的评论,他可以这样做:function [] = arrowLandD(x1, y1, length, x2, y2)
direction = arctan((y2-y1)/(x2-x1));
p2 = [x1+length*cos(direction) y1+length*sin(direction)];
arrow([x1 y1], p2);
end
使箭头成为从起点而不是p1-> p2的长度和方向的图。
您还可以使用内置的矢量字段库箭头:
http://www.mathworks.com.au/help/matlab/ref/quiver.html
制作这样的东西:
希望这有帮助。