使用角度

时间:2015-12-02 19:57:45

标签: c++ arrays loops iteration trigonometry

我正在寻找能够以指定的角度输出2d数组中的所有值的方法..这样如果我有像这样的2d数组

 _ _ _ _ _ 
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|

我为它提供了一个角度0,它将在位置输出值。(row,col)(0,3),(1,3),(2,3)。

 _ _ _ _ _ 
|_|_|x|_|_|
|_|_|x|_|_|
|_|_|x|_|_|
|_|_|_|_|_|
|_|_|_|_|_|

问题是,如何计算25度或其他角度的值..我似乎能够做到0,90,180,270 ..但是我之间的那些我看不到它..我必须是一个简单的三角形身份,但是......在数学方面很糟糕......

1 个答案:

答案 0 :(得分:2)

蛮力方法是计算线的方程,然后使用Bresenham相关算法选择应该选择的槽,方框或点。

将矩阵视为像素屏幕。

你要考虑的一些角度(以度为单位):30,60和22.5。

也许更好的解决方案是将角度限制在一组中的几个。您可以存储几个角度(例如30度)的x,y位置。这是基于许多角度将在矩阵中选择相同的槽的想法。