使用Java Graphics2D计算点和区域之间的距离

使用Java Graphics2D计算点和区域之间的距离,java,swing,graphics2d,Java,Swing,Graphics2d,我正试图用Java中的模糊逻辑构建一个自动引导车辆模拟器,但我坚持了这一点 我想用图形2D计算点和面积之间的距离。我知道点的位置、角度和区域的颜色。看起来是这样的: 我现在不提供代码,但这里有一个简单的策略,您可以使用 首先,对图像应用仿射变换旋转,以便草图中的“绿色”线与水平轴对齐,并且提供的点位于原点。然后将图像裁剪为单像素高度。然后以易于使用的特定编码获取图像的光栅。最后,在光栅中遍历每个像素,直到到达给定颜色的第一个像素。然后,您可能需要对该距离进行一些调整,以考虑旋转角度。欢迎使用SO

我正试图用Java中的模糊逻辑构建一个自动引导车辆模拟器,但我坚持了这一点

我想用图形2D计算点和面积之间的距离。我知道点的位置、角度和区域的颜色。看起来是这样的:


我现在不提供代码,但这里有一个简单的策略,您可以使用


首先,对图像应用
仿射变换
旋转,以便草图中的“绿色”线与水平轴对齐,并且提供的点位于原点。然后将图像裁剪为单像素高度。然后以易于使用的特定编码获取图像的光栅。最后,在光栅中遍历每个像素,直到到达给定颜色的第一个像素。然后,您可能需要对该距离进行一些调整,以考虑旋转角度。

欢迎使用SO!你能提供更多关于你被卡住的地方的信息吗,包括你到目前为止尝试过的代码吗?你的意思是,你得到的图像与上面的图像相似,很可能只有蓝色斑点和黑色角度的矩形,然后是矩形上一个点的坐标,以及计算距离的角度。是吗?我得到了类似于I.imgur.com/shAOoGz.png的东西,但没有绿线。绿线是要计算的距离,在此基础上,使用模糊逻辑,我可以调整“汽车”通过路线的角度。除了绘制课程,我没有其他代码,这相当简单(在Graphics2D上使用Fillova)。执行光线跟踪可能要快得多。