我的任务是编写允许用户绘制星星的程序,这些星星的大小和数量可能不同。当我处理基本星星时,我使用的是 GeneralPath 和点表:
int xPoints[] = { 55, 67, 109, 73, 83, 55, 27, 37, 1, 43 };
int yPoints[] = { 0, 36, 36, 54, 96, 72, 96, 54, 36, 36 };
Graphics2D g2d = ( Graphics2D ) g;
GeneralPath star = new GeneralPath();
star.moveTo( xPoints[ 0 ], yPoints[ 0 ] );
for ( int k = 1; k < xPoints.length; k++ )
star.lineTo( xPoints[ k ], yPoints[ k ] );
star.closePath();
g2d.fill( star );
我应该选择什么方法来绘制具有可变内半径和外半径以及不同数量的臂的星星?这是我应该得到的: