java代碼各種圖形參數(shù),Java圖形

跪求JAVA代碼三葉玫瑰線 r=asin3θ或r=acos3θ。謝謝

三葉玫瑰并不是植物,你也說啦,是專門研究數(shù)學(xué)的。其實是一種三葉玫瑰線的 java代碼

魏都網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

S 3:

輸入下面程序用于輸出三葉玫瑰線的圖形,三葉玫瑰線的參數(shù)方程為:

x = r * sin(3t)* sin(t);y = r *sin(3t) * sin(t) 其中: 0 = t = 2 * 3.14159

#include stdio.h

#include math.h

#define RADIUS 12

#define PII 3.14159

void main(void)

{

char tx[2 * RADIUS + 1][2 * RADIUS + 1];

int nT;

int nX;

int nY;

double dbD;

for(nX = 0; nX 2 * RADIUS + 1; nX++)

{

for(nY = 0; nY 2 * RADIUS + 1; nY++)

{

tx[nX][nY] = '';

}

}

for(nT = 0; nT = 360; nT += 4)

{

dbD = nT * PII / 180;

nX = (int)(RADIUS * sin(3 * dbD) * sin(dbD)) + RADIUS;

nY = (int)(RADIUS * sin(3 * dbD) * cos(dbD)) + RADIUS;

tx[nX][nY] = '*';

}

for(nX = 0; nX 2 * RADIUS + 1; nX++)

{

for(nY = 0; nY 2 * RADIUS + 1; nY++)

{

printf("%2c", tx[nX][nY]);

}

printf("\n");

}

}

java繪圖類的graphics的drawLine(x1,y2,x2,y2)四個參數(shù)分別指什么

java繪圖類的graphics的drawLine(x1,y1,x2,y2)四個參數(shù)分別指

x1 - 第一個點的 x 坐標(biāo)。

y1 - 第一個點的 y 坐標(biāo)。

x2 - 第二個點的 x 坐標(biāo)。

y2 - 第二個點的 y 坐標(biāo)。

drawLine函數(shù)的作用是 在此圖形上下文的坐標(biāo)系中,使用當(dāng)前顏色在點 (x1, y1) 和 (x2, y2) 之間畫一條線。

Java知多少Graphics2D類的繪圖方法

Java語言在Graphics類提供繪制各種基本的幾何圖形的基礎(chǔ)上,擴(kuò)展Graphics類提供一個Graphics2D類,它擁用更強(qiáng)大的二維圖形處理能力,提供、坐標(biāo)轉(zhuǎn)換、顏色管理以及文字布局等更精確的控制。

繪圖屬性

Graphics2D定義了幾種方法,用于添加或改變圖形的狀態(tài)屬性??梢酝ㄟ^設(shè)定和修改狀態(tài)屬性,指定畫筆寬度和畫筆的連接方式;設(shè)定平移、旋轉(zhuǎn)、縮放或修剪變換圖形;以及設(shè)定填充圖形的顏色和圖案等。圖形狀態(tài)屬性用特定的對象存儲。

1. stroke屬性

stroke屬性控制線條的寬度、筆形樣式、線段連接方式或短劃線圖案。該屬性的設(shè)置需要先創(chuàng)建BasicStroke對象,再調(diào)用setStroke()方法來設(shè)置。創(chuàng)建BasicStroke對象的方法有:

BasicStroke(float w):指定線條寬w。

BasicStroke(float w,int cap, int join):

cap是端點樣:CAP_BUTT(無修飾),CAP_ROUND(半圓形末端),CAP_SQUARE(方形末端,默認(rèn)值)。

Join定義兩線段交匯處的連接方式:JOIN_BEVEL(無修飾),JOIN_MTTER(尖形末端,默認(rèn)值),JOIN_ROUND(圓形末端)。

2. paint屬性

paint屬性控制填充效果。先調(diào)用以下方法確定填充效果,理用setPaint()方法設(shè)置。

GradientPaint(float x1,float y1,Color c1,float x2,flaot y2,Color c2):從(x1,y1)到(x2,y2)顏色從c1漸變到c2。其中:參數(shù)c1,c2決定這個漸變色是從顏色c1漸變到顏色c2。參數(shù)x1,y1,x2,y2決定了漸變的強(qiáng)弱,即要求從點(x1,y1)出發(fā)到達(dá)點(x2,y2),顏色從c1變成c2。

GradientPaint(float x1,float y1,Color c1,float x2,float y2,Color c2,Boolean cyclic):如果希望漸變到終點又是起點的顏色,應(yīng)將cyclic設(shè)置為true。

3. transform屬性

transform 屬性用來實現(xiàn)常用的圖形平移、縮放和斜切等變換操作。首先創(chuàng)建AffineTransform對象,然后調(diào)用setTransform()方法設(shè)置transform屬性。最后,用具有指定屬性的Graphics2D對象繪制圖形。創(chuàng)建AffineTransform對象的方法有:

getRotateinstrance(double theta):旋轉(zhuǎn)theta弧度。

getRotateInstance(double theta,dioble x,double y):繞旋轉(zhuǎn)中心(x,y)旋轉(zhuǎn)。

getScaleInstance(double sx,double sy):x和y 方向分別按sx,sy比例變換。

getTranslateInstance(double tx,double ty):平移變換。

getShearInstance(double shx,double shy):斜切變換,shx和shy指定斜拉度。

也可以先創(chuàng)建一個沒有transform屬性的AffineTransform對象,然后用以下方法指定圖形平移、旋轉(zhuǎn)、縮放變換屬性。

transelate(double dx,double dy):將圖形在x軸方向平移dx像素。

scale(double sx,double sy):圖形在x軸方向縮放sx倍,縱向縮放sy倍。

rotate(double arc,double x, double y):圖形以點(x,y)為軸點,旋轉(zhuǎn)arc弧度。

例如,創(chuàng)建AffineTransform對象:

AffineTransform trans = new AffineTransform();

為AffineTransform對象指定繞點旋轉(zhuǎn)變換屬性:

Trans.rotate(50.0*3.1415927/180.0,90,80);

接著為Graphics2D 的對象g2d設(shè)置具有上述旋轉(zhuǎn)變換功能的“畫筆”:

Graphics2D g2d = (Graphics2D)g;g2d.setTranstorm(trans);

最后,以圖形對象為參數(shù)調(diào)用具有變換功能的Graphics2D 對象的draw()方法。例如,設(shè)已有一個二次曲線對象curve,以下代碼實現(xiàn)用上述旋轉(zhuǎn)功能的g2d對象繪制這條二次曲線:

g2d.draw(curve);

4. clip屬性

clip屬性用于實現(xiàn)剪裁效果。設(shè)置剪裁屬性可調(diào)用setClip()方法確定剪裁區(qū)的Shape。連續(xù)多個setClip()得到它們交集的剪裁區(qū)。

5. composit屬性

composit屬性設(shè)置圖形重疊區(qū)域的效果。先用方法AlphaComposite.getInstance(int rule, float alpha)得到AlphaComposite對象,再通過setComposite()方法設(shè)置混合效果。Alpha值的范圍為0.0f(完全透明)-0.1f(完全不透明)。

Graphics2D類的繪圖方法

Graphics2D類仍然保留Graphics類的繪圖方法,同時增加了許多新方法。新方法將幾何圖形(線段、圓等)作為一個對象來繪制。在java.awt.geom包中聲明的一系列類,分別用于創(chuàng)建各種身體圖形對象。主要有:

Line2D線段類,RoundRectangle2D圓角矩形類,Ellipse2D橢圓類,Arc2D圓弧類,QuadCurve2D二次曲線類,CubicCurve2D三次曲線類。

要用Graphics2D類的新方法畫一個圖形。先在重畫方法paintComponent()或paint()中,把參數(shù)對象g強(qiáng)制轉(zhuǎn)換成Graphics2D對象;然后,用上述圖形類提供的靜態(tài)方法Double()創(chuàng)建該圖形的對象;最后,以圖形對象為參數(shù)調(diào)用Graphics2D對象的draw()方法繪制這個圖形。例如以下代碼用Graphics2D的新方法繪制線段和圓角矩形:

Graphics2D g2d = (Graphics2D)g;//將對象g類型從Graphics轉(zhuǎn)換成Graphics2D

Line2D line = new Line2D.Double(30.0,30.0,340.0,30.0);

g2d.draw(line);

RoundRectangle2D rRect = new RoundRectangle2D.Double(13.0,30.0,100.0,70.0,40.0,20.0);

g2d.draw(rRect);

也可以先用java.awt.geom包提供的Shape對象,并用單精度Float坐標(biāo)或雙精度Double坐標(biāo)創(chuàng)建Shape對象,然后再用draw()方法繪制。例如,以下代碼先創(chuàng)建圓弧對象,然后繪制圓弧:

Shape arc = new Arc2D.Float(30,30,150,150,40,100,Arc2D.OPEN);

g2d.draw(arc)/繪制前面創(chuàng)建的圖形對象arc

用java計算三角形、矩形、圓的面積

//圖形類作父類

public class Diagram {

//計算面積

public double area(){return 0;}

}

//圓類:繼承圖形類

public class Crile extends Diagram{

private double r;

public Crile(double r){

this.r=r;

}

//重寫area方法

public double area(){

double r=this.r;

return r*r*3.14;

}

}

//三角形類:繼承圖形類

public class Triangle extends Diagram{

private double high; //三角形的高

private double bottom; //三角形的底

public Triangle(double h,double b){

this.high=h;

this.bottom=b;

}

public double area(){

double h=this.high;

double b=this.bottom;

return h*b/2;

}

}

//測試

public class test {

public static void main(String[] args) {

System.out.println("請選擇圖形的類型:(1)三角形(2)圓");

Scanner scanner=new Scanner(System.in);

int i=scanner.nextInt();

if(i==1){

System.out.println("你選擇的是三角形!請輸入三角形高長(回車結(jié)束):");

double high=scanner.nextLong();

System.out.println("請輸入三角形底長(回車結(jié)束):");

double bottom=scanner.nextLong();

//這里體現(xiàn)動態(tài),如果選擇的圖形是三角形,那么創(chuàng)建三角形類

//調(diào)用的時候就是調(diào)用的三角形的方法

Diagram diagram=new Triangle(high, bottom);

System.out.println("三角形的面積為:"+diagram.area());

}

if(i==2){

System.out.println("你選擇的是圓形!請輸入圓的半徑(回車結(jié)束):");

double r=scanner.nextLong();

Diagram diagram=new Crile(r);

System.out.println("三角形的面積為:"+diagram.area());

}

}

}

其他的一樣了,純手工 望采納!

網(wǎng)站欄目:java代碼各種圖形參數(shù),Java圖形
網(wǎng)頁網(wǎng)址:http://muchs.cn/article48/hcigep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、域名注冊響應(yīng)式網(wǎng)站、App設(shè)計、外貿(mào)建站、網(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)

手機(jī)網(wǎng)站建設(shè)