从角度获取坐标

时间:2012-09-07 15:58:26

标签: coordinates formula angle

给定一个角度并从边界框的中心绘制一条直线,我们如何计算直线与边界框相交的坐标?

请查看下图: enter image description here

如您所见,例如,在角度0处,该线与点(0.5,1)

相交

我们如何将此问题转化为可接受角度并返回x和y坐标的可计算公式?

1 个答案:

答案 0 :(得分:1)

您可以使用三角函数解决并分别处理每个45度部分:

鉴于:

  • xmin,xmax(盒装区域的x轴限制)
  • ymin,ymax(盒装区域的y轴限制)
  • a(角度)
  • x和y的输出坐标
  • width =(xmax - xmin)
  • height =(ymax - ymin):

角度范围; X; ÿ

  • (0 <= a <= 45); x = xmin +(tan(a)*(宽度/ 2)+宽度/ 2; y = ymax
  • (45 <= a <= 90); x = xmax; y = ymin +(tan(90-a)* height / 2)+ height / 2
  • (90 <= a <= 135); x = xmax; y = ymin +(tan(a-90)* height / 2)+ height / 2
  • (135 <= a <= 180); x = xmin +(tan(180-a)* width / 2)+ width / 2; y = ymin
  • (180 <= a <= 225); x = xmin - (tan(a-180)* width / 2)+ width / 2; y = ymin
  • (225 <= a <= 270); x = xmin; y = ymin - (tan(270-a)* height / 2)+ height / 2
  • (270 <= a <= 315); x = xmin; y = ymin +(tan(a-270)* height / 2)+ height / 2
  • (315 <= a <= 360); x = xmin - (tan(360-a)* width / 2)+ width / 2; y = ymax