请问一个使用fillPolygon()画国旗上的五角星的算法

具体题目如下:利用图形类Graghics类中绘制基本图形的方法,设置一面五星红旗,并在国歌声中,模拟升旗的过程。基本要求如下:1.五星红旗要与实物在色彩和形状上吻合;2.... 具体题目如下:
利用图形类Graghics类中绘制基本图形的方法,设置一面五星红旗,并在国歌声中,模拟升旗的过程。
基本要求如下:
1.五星红旗要与实物在色彩和形状上吻合;
2.过程要逼真;
3.播放能进行控制。
利用java做的.
不知道该怎么画五星红旗,特别是那个五角星,请问一个使用fillPolygon()画五角星的算法,谢谢
展开
 我来答
mxm_1123
2007-10-24 · TA获得超过1779个赞
知道大有可为答主
回答量:496
采纳率:0%
帮助的人:0
展开全部
给你一个五星红旗的applet,用applet查看器就可以看。其它的你自己来吧
import java.awt.*;
import java.applet.*;
public class HongQi extends Applet{
int r1=30; //外接大圆半径
int r0=(int)(r1*Math.cos(72*Math.PI/180)); //内圆半径
// 以下是大五角星坐标
int[] xrr={
(int)0, (int)(r0*Math.cos(54*Math.PI/180)),
(int)(r1*Math.sin(72*Math.PI/180)), (int)(r0*Math.cos(18*Math.PI/180)),
(int)(r1*Math.cos(54*Math.PI/180)), (int)0,
(int)((-r1)*Math.cos(54*Math.PI/180)),(int)((-r0)*Math.cos(18*Math.PI/180)),
(int)((-r1)*Math.sin(72*Math.PI/180)),(int)((-r0)*Math.cos(54*Math.PI/180))
};
int[] yrr={
(int)-r1, (int)(-r0*Math.sin(54*Math.PI/180)),
(int)(-r1*Math.cos(72*Math.PI/180)), (int)((r0)*Math.sin(18*Math.PI/180)),
(int)((r1)*(Math.sin(54*Math.PI/180))), (int)(r0),
(int)((r1)*(Math.sin(54*Math.PI/180))), (int)((r0)*Math.sin(18*Math.PI/180)),
(int)(-r1*Math.cos(72*Math.PI/180)), (int)(-r0*Math.sin(54*Math.PI/180)),
};
int[] xrr0=new int[10]; //小五角星坐标
int[] yrr0=new int[10];
public void init(){
for (int i = 0; i < xrr.length; i++) { //计算大五角星坐标平移
xrr[i]+=50;
yrr[i]+=60;
}
for (int i = 0; i < xrr0.length; i++) { //计算小五角星坐标平移
xrr0[i]=xrr[i]/3;
xrr0[i]+=80;
yrr0[i]=yrr[i]/3;
yrr0[i]+=17;
}
}

public void paint(Graphics g){
g.setColor(Color.RED);
g.fillRect(0,0,300,200);
g.setColor(Color.YELLOW);
g.fillPolygon(xrr,yrr,10);
g.fillPolygon(xrr0,yrr0,10);
g.copyArea(88,25,20,20,15,18);
g.copyArea(88,25,20,20,15,38);
g.copyArea(88,25,20,20,0,58);
}
}
东莞大凡
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式