2015-12-02 66 views
-2

2D阵列我在寻找方法,它能够以一定角度输出在2D阵列中的所有值的..使得如果我有一个2D阵列这样环路通过使用角

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

而我给它提供了一个角度0,它将在位置(行,列)(0,3),(1,3),(2,3)输出值。

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

的问题是,虽然,如何计算值25度或者其他的角度。我似乎能够做到这一点的0,90,180,270 ..但那些之间我无法看到它。 。我必须是一个简单的三角形身份,但是啊...它在数学上很糟糕...

+1

真的不知道你在问什么。 45度是一个*奇数*角度,但看起来非常直截了当。对于其他角度(如25度),我们需要更多地了解您的家庭作业。编辑:对不起,我的意思是,“问题陈述”:P –

回答

2

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

认为你的矩阵是一个像素的屏幕。

某些角度(以度为单位)让您思考:30,60和22.5。

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

+0

因此,像2个一个插槽能够满足2个角度值..好吧,如果矩阵很小,这将是有意义的..但对于更大的矩阵,这将是可能的.. – Lamda

+0

In你发布的问题,每个象限有5个“角度”的限制。由于您的“像素”大小或插槽密度,不能绘制其他线条。所以包含每个坐标的列表(或子矢量)的5个角度的矢量。 –