2d笛卡尔空间中垂直线段的坐标

时间:2017-11-29 10:14:17

标签: matlab math

我很难找到看似简单的东西。我在图表上有两个已知的坐标,(X1,Y1)和(X2,Y2)。我想要识别的是(X3,Y3)的坐标。

我想过使用罪恶和cos但是一旦我到了这里,我的大脑停止工作。我知道

sin O = y/R
cos O = x/R

所以我想简单地导入线的长度(在这种情况下它是2)并使用已知的角度。看起来很简单,但对于我的生活,我的大脑不会缠绕这个。

enter image description here

我需要这个的原因是因为我试图在matlab中使用poly2mask在图像上打印一条线。代码必须在2D空间中工作,因为我将使用该行构建电影。

X1 = [134 134 135 147 153 153 167]
Y1 = [183 180 178 173 164 152 143]

X2 = [133 133 133 135 138 143 147]
Y2 = [203 200 197 189 185 173 163]

YZdist = 2;

for aa = 1:length(X2)
     XYdis(aa) = sqrt((x2(aa)-x1(aa))^2 + (Y2(aa)-Y1(aa))^2);

     X3(aa) = X1(aa) * tan(XYdis/YZdis);
     Y3(aa) = Y1(aa) * tan(XYdis/YZdis);

end
polmask = poly2mask([Xdata X3],[Ydata Y3],50,50);

0 个答案:

没有答案