2012-09-07 278 views
0

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

请看看下面的图: enter image description here

正如你所看到的,例如,在角度0线相交点(0.5:1)

我们怎样才能把这个问题转化为接受角度并返回x和y坐标的可计算公式?

回答

1

可以通过使用三角学,并分别处理每一45度部分解决:

鉴于:

  • XMIN,XMAX(对于加框区域的x轴的范围)
  • YMIN,YMAX(限制对于加框区域Y轴)的
  • 一个(角度)
  • x和y的输出坐标
  • 宽度=(XMAX - X分钟)
  • 高度=(YMAX - YMIN):

角度范围; X; y

  • (0 < = a < = 45); x = xmin +(tan(a)*(width/2)+ width/2; y = ymax
  • (45 < = a < = 90); x = xmax; y = ymin +(tan(90- )*高度/ 2)+高度/ 2
  • (90 < =一个< = 135); X = XMAX; Y = YMIN +(褐色(A-90)*高度/ 2)+高度/ 2
  • (180 < = a < = 225); x = xmin(tan(180-a)* width/2)+ width/2; y = - (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
+0

正是需要什么,非常感谢! – Abdulla