绘制任意形状的形状

时间:2011-07-25 20:37:43

标签: java swing shape shapes

我正在编写一个绘图程序,我想要实现的一个功能是任意的双面形状。我已经解决了大部分功能,但我需要的一件事是从表示多个边的整数生成Polygon对象的函数。我不记得三角学,尽管我确信我的问题涉及一些。

2 个答案:

答案 0 :(得分:2)

您的问题分为两部分。首先,您需要一种算法来生成包含多边形顶点的点,这是一个与语言无关的过程。根据您问题的措辞,似乎任何具有所需边数的多边形都可以工作,因此您可以根据固定半径的圆生成正多边形。

例如,对于输入4,您的积分可能是(0, r)(r, 0)(0, -r)(-r, 0)。您可以通过绘制一个半径为r的虚构/不可见圆圈,然后选择点(sin(360/input)*r, cos(360/input)*r)来获得这些圆。 (请记住,Java的trig使用的是弧度,而不是度数。)

获得积分后,您必须创建Polygon对象。 There's a constructor,它采用x坐标数组和y坐标数组,加上顶点总数,这只是你的初始输入。你真正需要做的就是将你的点的坐标弹出到两个阵列中,然后你就完成了设置。

答案 1 :(得分:2)

希望这会有所帮助。它提供常规多边形的代码。 http://java-sl.com/shapes.html