橢圓加法代碼java 橢圓曲線 加法

用java怎樣畫橢圓?

你的問題是是使用java畫橢圓,可以使用awt和swing類庫實現(xiàn)

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、大興網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為大興等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

畫橢圓可以通過畫矩形及其內(nèi)切橢圓實現(xiàn),示例代碼如下

如果只需要橢圓,則無需g2.draw(rect);

class DrawPanel extends JPanel {

public void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

// 畫矩形

double leftX = 100;

double topY = 100;

double width = 200;

double height = 150;

Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);

g2.draw(rect);

// 畫rect的內(nèi)切橢圓

Ellipse2D ellipse = new Ellipse2D.Double();

ellipse.setFrame(rect);

g2.draw(ellipse);

}

}

Java如何編譯橢圓周長的程序

publicclassCircle{圓的半徑,privatedoublemRadius,publicCircle(doublemRadius){,this.mRadius=mRadius,}獲取圓的周長,publicdoublegetLength,{return2Math.PImRadius,},獲取圓的面積publicdoublegetArea{returnMath.PImRadiusmRadius。這樣即可在Java編譯橢圓周長的程序。

java 橢圓算法

以下代碼,將輸出一個橢圓,再有問題,我可遠程助你。如下:

/**

*(300,100)(400,100)

*

*/

import?java.awt.*;

import?javax.swing.*;

import?java.awt.event.*;

public?class?Lipse?

{

public?static?void?main(String[]?args)

{

new?MainFrame();

}

}

class?MainFrame?extends?JFrame?implements?ActionListener

{

JPanel?pane=new?JPanel();

JTextField?T_a,T_b;

JButton?Draw,Show;

JLabel?L_a,L_b;

int?a,b;

MainFrame()

{

super("DrawLipse?Window");

Container?con=this.getContentPane();

con.setLayout(null);

pane.setBounds(20,20,850,550);

pane.setBackground(new?Color(100,156,200));

con.add(pane);

L_a=new?JLabel("請輸入長半徑:a");

L_a.setBounds(180,580,100,20);

con.add(L_a);

L_b=new?JLabel("請輸入短半徑:b");

L_b.setBounds(180,630,100,20);

con.add(L_b);

T_a=new?JTextField();

T_a.setBounds(300,580,50,20);

con.add(T_a);

T_b=new?JTextField();

T_b.setBounds(300,630,50,20);

con.add(T_b);

Draw=new?JButton("畫橢圓");

Draw.setBounds(550,580,90,30);

Draw.addActionListener(this);

con.add(Draw);

Show=new?JButton("顯示坐標");

Show.setBounds(550,620,90,30);

Show.addActionListener(this);

con.add(Show);

this.addWindowListener(new?CloseWindow());

this.setBounds(20,20,900,700);

this.setVisible(true);

this.setResizable(false);

}/*MainFrame()*/

public?void?actionPerformed(ActionEvent?e)

{

if(e.getSource()==Draw)

{

a=Integer.parseInt(T_a.getText().trim());

b=Integer.parseInt(T_b.getText().trim());

Line?line=new?Line(this);

line.drawLipse(a,b);?

}

if(e.getSource()==Show)

{

Graphics?g1=this.pane.getGraphics();

g1.setColor(Color.PINK);

g1.drawLine(0,300,920,300);//----x---

g1.drawLine(410,0,410,720);//----y---

g1.dispose();

}

}/*method?actionPerformed*/

}

class?Line

{

MainFrame?jb;

Line(MainFrame?jb)

{

this.jb=jb;

}

public?void?drawLipse(int?a,int?b)

{

int?x,y;

double?d1,d2;

x=0;??y=b;

d1=b*b+a*a*(-b+0.25);

Graphics?g=jb.pane.getGraphics();

g.setColor(Color.red);

g.drawLine(x+410,y+300,x+410,y+300);

g.drawLine(-x+410,-y+300,-x+410,-y+300);

g.drawLine(-x+410,y+300,x+410,-y+300);

g.drawLine(x+410,-y+300,x+410,-y+300);

try

{

while(b*b*(x+1)a*a*(y-0.5))

{

if(d1=0)

{

d1+=b*b*(2*x+3);

x++;

}

else

{

d1+=(b*b*(2*x+3)+a*a*(-2*y+2));

x++;

y--;

}

g.drawLine(x+410,y+300,x+410,y+300);

g.drawLine(-x+410,-y+300,-x+410,-y+300);

g.drawLine(-x+410,y+300,x+410,-y+300);

g.drawLine(x+410,-y+300,x+410,-y+300);

Thread.sleep(30);

}//?top?of?while?

}catch(Exception?e){}

d2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;

try

{

while(y0)

{

if(d2=0)

{

d2+=b*b*(2*x+2)+a*a*(-2*y+3);

x++;

y--;

}

else

{

d2+=a*a*(-2*y+3);

y--;

}

g.drawLine(x+410,y+300,x+410,y+300);

g.drawLine(-x+410,-y+300,-x+410,-y+300);

g.drawLine(-x+410,y+300,x+410,-y+300);

g.drawLine(x+410,-y+300,x+410,-y+300);

Thread.sleep(30);

}/*?bottom?of?while*/

}catch(Exception?e){}

}?/*DrawLipse*/?

}

class?CloseWindow?extends?WindowAdapter

{

public?void?windowClosing(WindowEvent?e)

{

System.exit(0);

}

}

文章標題:橢圓加法代碼java 橢圓曲線 加法
標題URL:http://muchs.cn/article46/hgijhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、域名注冊云服務(wù)器、用戶體驗、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)