查看单个帖子
旧 2019-11-26, 09:20   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 How to correctly plot a perpendicular on a point of a line in MATLAB?

I am trying to plot a perpendicular at the endpoint of a line in MATLAB. However, I don't think the angle between these two lines is 90 degrees. I know points x1, y1, x2, y2, then



plot([x1 x2],[y1 y2],'r'); hold on; grid on 
p = polyfit([x1 x2], [y1 y2], 1); % get line parameters
m = p(1); % get slope
m=-1/m; % calculate perpendicular slope

y=-55.5:0.02:-54.8;
x=x1+((y-y1)./m);
plot(x,y,'g');
axis square;


enter image description here



However, in the plot, it does not show 90 degree angle. What am I doing wrong here. Thanks.





More answer...
poster 当前离线   回复时引用此帖