jjzjj

GeneralPath

全部标签

java - 在 Java 中,如何判断一个点是否在 GeneralPath 的边界上?

我发现Java中的GeneralPath类只提供了检查点是否在一般路径内的方法(具体来说,具有直线段的多边形).有人知道如何高效检查一个点是否在一般路径的边界上吗?谢谢虚拟解决方案1:我们可以定义一个半径为$\epsilon$的圆($\epsilon$是一个非常小的正实数值)。然后,我们检查圆上足够多的点,看看其中一个/一些是否落入一般路径。然而,这种虚拟方法可能需要相当大的计算量,这不是很理想。虚拟解决方案2:我们可以计算点(在边界上)到多边形每一边的距离。如果最小距离足够小,则该点在边界上;否则,它不是。同样,此方法仍然需要大量计算。 最佳答案

java - 使用可变参数绘制星形

我的任务是编写允许用户绘制星星的程序,这些星星的大小和ARM数量可能不同。当我处理基本的星星时,我是用GeneralPath和点表来做的:intxPoints[]={55,67,109,73,83,55,27,37,1,43};intyPoints[]={0,36,36,54,96,72,96,54,36,36};Graphics2Dg2d=(Graphics2D)g;GeneralPathstar=newGeneralPath();star.moveTo(xPoints[0],yPoints[0]);for(intk=1;k绘制内外半径可变、臂数不同的星星应该选择什么方法?这是我应该