91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-10
  • 語言: 其他
  • 標簽:

資源簡介

1.橢圓的掃描轉換算法 2.凸六邊形的掃描線填充算法 3.凸六邊形繞點旋轉算法 4.給定特征多邊形,生成貝塞爾(Bezier)曲線

資源截圖

代碼片段和文件信息

package?Work;

import?java.awt.Color;
import?java.awt.Graphics;
import?java.awt.Graphics2D;
import?java.awt.geom.Line2D;
import?java.awt.geom.Point2D;

import?javax.swing.JComponent;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JPanel;


public?class?Bezier?{

public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Drawframe3?Jf?=?new?Drawframe3();
Jf.setVisible(true);
Jf.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
}
}

class?Drawframe3?extends?Jframe
{
public?Drawframe3()
{
this.settitle(“坐標系框架“);
this.setSize(800600);
this.setLocationRelativeTo(null);
this.setResizable(false);

DrawPanel3?Jp?=?new?DrawPanel3();
this.add(Jp);
}
}

class?DrawPanel3?extends?JComponent
{

private?int?width?height;
private?int?x0?y0;
private?Point2D?[]?p?=?new?Point2D?[6];
private?Point2D?[]?temp?=?new?Point2D?[6];
public?DrawPanel3()
{

p[0]?=?new?Point2D.Double(496??286);
p[1]?=?new?Point2D.Double(646??286);
p[2]?=?new?Point2D.Double(726??186);
p[3]?=?new?Point2D.Double(646??86);
p[4]?=?new?Point2D.Double(496??86);
p[5]?=?new?Point2D.Double(416??186);


}
public?void?paintComponent(Graphics?g)
{
//super.paintComponent(g);
setBackground(Color.BLACK);

width?=?this.getWidth();
height?=?this.getHeight();
x0?=?width/2;
y0?=?height/2;

System.out.println(“sghoisugh“);
//this.DrawSix(g);
//this.PaAxis(g);
this.DrawBezier(g);
}
public?void?DrawBezier(Graphics?g1)
{
Graphics2D?g?=?(Graphics2D)g1;
g.setPaint(Color.BLUE);
Point2D?t1t2;
t1?=?p[0];
/**
?*?利用遞歸的算法來畫圖
?*?其中利用到了Point2D中的2D圖形來結合Line2D來劃線
?*?根據t的漸變???結合兩個點來描線可以得到相應的貝塞爾曲線
?*?遞歸的函數體是???(手寫不出來)
?*/

temp?=?p;
for(double?t?=?0.01;?t?<=?1.0;?t?+=0.01)
{
temp?=?p;
for(int?n?=?5;?n?>=?1;?n--)
{
for(int?i?=?0;?i? temp[i]?=new?Point2D.Double(((1-t)*temp[i].getX()?+?t*temp[i+1].getX())((1-t)*temp[i].getY()?+?t*temp[i+1].getY()));
//顯示中間直線軌跡
//for(int?i?=?0;?i? //g.draw(new?Line2D.Double(temp[i]temp[i+1]));
}

t2?=?temp[0];
g.setPaint(Color.BLUE);
g.draw(new?Line2D.Double(t1t2));
t1?=?t2;
}

}
public?void?DrawSix(Graphics?g1)
{
Graphics2D?g?=?(Graphics2D)g1;

g.setPaint(Color.RED);
for(int?i?=?0;?i? {
g.draw(new?Line2D.Double(p[i]?p[i+1]));
}
}
public?void??PaAxis(Graphics?g)
{
g.setColor(Color.GREEN);
//坐標軸線
g.drawLine(0?y0?width?y0);
g.drawLine(x0?0?x0?height);
//g.drawLine(x0+10?0?x0+10?height);
//刻度線
g.drawString(“0“?x0?+?8?y0+15);//繪制0刻度
for(int?i?=?10;?i?<=?1.5*y0;?i?+=10)
{
if(i?%50?==?0)
{
//x軸的繪制
g.drawLine(x0?+?i?y0?-?10?x0?+?i?y0);//x軸正向|10|代表刻度的高度
g.drawString(String.valueOf(i)?x0+i-5?y0+15);//繪制刻度尺下面的數字
g.drawLine(x0?-?i?y0?-?10?x0?-?i?y0);//x軸負向|10|代

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4244??2015-11-11?17:11??Work\Bezier.java
?????文件????????3466??2015-11-08?18:20??Work\Ellipse.java
?????文件????????3646??2015-11-07?21:09??Work\Filling.java
?????文件????????3789??2015-11-07?23:22??Work\Revolve.java
?????文件??????????67??2015-10-29?13:15??Work\package-info.java
?????目錄???????????0??2015-11-07?21:11??Work\

評論

共有 條評論