沒有這個(gè)函數(shù),只能通過算法實(shí)現(xiàn),一下是代碼publicclassTest4{publicstaticvoidmain(Stringargs[]){Pointp1=newPoint(0,0);Pointp2=newPoint(10,0);Pointp3=newPoint(10,10);Pointp4=newPoint(0,10);Listlist=newArrayList();list.add(p1);list.add(p2);list.add(p3);list.add(p4);Test4t=newTest4();doublearea=t.getArea(list);System.out.println(area);}publicdoublegetArea(ListPointlist){//S=0.5*((x0*y1-x1*y0)+(x1*y2-x2*y1)+...+(xn*y0-x0*yn))doublearea=0.00;for(inti=0;ilist.size();i++){if(ilist.size()-1){Pointp1=list.get(i);Pointp2=list.get(i+1);area+=p1.getX()*p2.getY()-p2.getX()*p1.getY();}else{Pointpn=list.get(i);Pointp0=list.get(0);area+=pn.getX()*p0.getY()-p0.getX()*pn.getY();}}area=area/2.00;returnarea;}}
孝昌網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,孝昌網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為孝昌上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的孝昌做網(wǎng)站的公司定做!
//首先找到正n邊行的中心點(diǎn)O,我們把中心O與各個(gè)頂點(diǎn)連接起來,
//那么正n邊形分成n個(gè)全等的等腰三角形,我們只需要算成其中一個(gè)面積乘以n就是總面積
//假如這個(gè)正n邊形有兩個(gè)相鄰的頂點(diǎn)A和B,連接OA,OB。得到等腰三角形OAB,其中OA=OB.
//可以看出來∠AOB=360/n?,AB邊的高?h=(a/2)/tan(360/2n)。其中a是正多邊形的邊長
public?double?normalPolygonArea(int?n,double?a){?
if(n3?||?a0)
return?0;
double?pi?=?3.14159265354;?//定義π
double?h?=(a/2)/Math.tan(pi/n);?//計(jì)算等腰三角形的高
double?triangle?=a*h/2;?//計(jì)算三角形的面積
return?triangle*n;?//返回正多邊形面積
}
自己查api,Graphics類有個(gè)花封閉曲線的方法,傳進(jìn)去一組x坐標(biāo),一組Y坐標(biāo)
要么用AlphaComposite做顏色混合,選擇src_over
SRC_OVER混合規(guī)則把源像素(新的像素)組合到目的像素(原有像素)上面,這樣重疊的部分就只顯示了源像素的顏色。如果你開始渲染一個(gè)藍(lán)色矩形,然后把一個(gè)紅色矩形和它部分重疊,則重疊的部分會被渲染為紅色。換句話說最后被渲染成的顏色將在最上面顯示出來。
我習(xí)慣把窗口寫成一個(gè)單獨(dú)的類,然后再main方法中創(chuàng)建實(shí)例
class mainFrame extends JFrame{
mainFrame(){
JButton sanjiaoxing=new JButton("多邊形");
paintListener paintListener=new StartListener();
sanjiaoxing.addActionListener(paintActionListener);
}
class paintListener{
public void actionPerformed(ActionEvent s){
要執(zhí)行的代碼寫在這里
}
}
}
具體類,組件,事件名字由你決定
網(wǎng)站標(biāo)題:Java多邊形代碼,java繪制多邊形
文章路徑:http://chinadenli.net/article28/hespjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、App開發(fā)、用戶體驗(yàn)、網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)