-1

我有一个数组: int[][] 草坪 = new int[980][1280]; 它将刀片高度的值存储在虚拟“草坪”中。

在我的模拟中,我有一个机器人绕着草坪走并切割刀片。

我的机器人具有直径 (rDiameter) 的圆形形状。坐标系是用 Double 完成的,我的草坪是 Integer。

我必须开发一种算法,将机器人四处移动时接触到的所有单元格设为 0。

我有运动的起点和终点,它们以 Line2D.Double 形式存储,我想将机器人接触的所有单元格设置为 0(图像)。有任何想法吗?

(这是我上一个关于圆中每个笛卡尔点的相同论点的问题

4

1 回答 1

0

将问题分解为 3 个部分。第 1 部分是将半圆中的所有点设置为 0。第 2 部分是将矩形中的所有点设置为 0。第 3 部分是将路径分成两个半圆(在末端)和一个矩形(连接它们)。

请注意,半圆和矩形通常具有不轴对齐的线。有很多关于光栅化多边形和圆的参考资料。你可以查看 Jack Bresenham 的算法。或者您可以翻开任何经典的计算机图形文本。

于 2012-04-04T16:19:26.970 回答