使用角度循环遍历二维数组
Loop through a 2d array using angle
我正在寻找能够以指定角度输出二维数组中所有值的方法。这样如果我有这样的二维数组
_ _ _ _ _
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
我为它提供了一个角度 0,它会在位置输出值。(row,col) (0,3),(1,3),(2,3)。
_ _ _ _ _
|_|_|x|_|_|
|_|_|x|_|_|
|_|_|x|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
但问题是,如何计算 25 度或其他角度的值。我似乎可以计算 0,90,180,270 的值。但是我看不到介于两者之间的值。我一定是一个简单的三角恒等式,但是是的......数学不好很糟糕......
一种蛮力方法是计算直线的方程,然后使用 Bresenham 相关算法来选择应该 selected 的槽、框或点。
将矩阵想象成像素屏幕。
一些角度(以度为单位)供您考虑:30、60 和 22.5。
也许更好的解决方案是将角度限制在一组中。您可以存储几个角度(例如 30 度)的 x,y 位置。这是基于这样的想法,即许多角度将 select 矩阵中的相同插槽。
我正在寻找能够以指定角度输出二维数组中所有值的方法。这样如果我有这样的二维数组
_ _ _ _ _
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
我为它提供了一个角度 0,它会在位置输出值。(row,col) (0,3),(1,3),(2,3)。
_ _ _ _ _
|_|_|x|_|_|
|_|_|x|_|_|
|_|_|x|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
但问题是,如何计算 25 度或其他角度的值。我似乎可以计算 0,90,180,270 的值。但是我看不到介于两者之间的值。我一定是一个简单的三角恒等式,但是是的......数学不好很糟糕......
一种蛮力方法是计算直线的方程,然后使用 Bresenham 相关算法来选择应该 selected 的槽、框或点。
将矩阵想象成像素屏幕。
一些角度(以度为单位)供您考虑:30、60 和 22.5。
也许更好的解决方案是将角度限制在一组中。您可以存储几个角度(例如 30 度)的 x,y 位置。这是基于这样的想法,即许多角度将 select 矩阵中的相同插槽。