0

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

请看下图: 在此处输入图像描述

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

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

4

1 回答 1

1

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

鉴于:

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

角度范围;X; 是的

  • (0<= a <= 45); x = xmin + (tan(a)*(width/2) + width/2; y = ymax
  • (45<= 一个 <= 90); x = xmax; y = ymin + (tan(90-a)*height/2) + height/2
  • (90<= 一 <= 135); x = xmax;y = ymin + (tan(a-90)*height/2) + height/2
  • (135<= 一 <= 180); x = xmin + (tan(180-a)*width/2)+width/2; y = ymin
  • (180<= 一 <= 225); x = xmin - (tan(a-180)*width/2)+width/2; y = ymin
  • (225<= 一 <= 270); x = xmin; y = ymin -(tan(270-a)*height/2)+height/2
  • (270<= 一 <= 315); x = xmin; y = ymin + (tan(a-270)*height/2)+height/2
  • (315<= 一 <= 360); x = xmin -(tan(360-a)*width/2)+width/2; y = ymax
于 2012-09-07T16:52:08.550 回答