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

  • 大小: 1KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-07
  • 語言: Java
  • 標簽: 裁剪??填充??java??

資源簡介

這是用java實現(xiàn)的多邊形填充算法,是掃描線算法,按照課本上編寫的,調(diào)試過,絕對沒問題。

資源截圖

代碼片段和文件信息

import?java.awt.*;
import?javax.swing.*;
import?java.util.*;
public?class?FillPloy?{
public?static?void?main(String?[]args){
Jframe?f=new?Jframe(“掃描線算法“);
MyCanvas?c=new?MyCanvas();
f.add(c);
f.setSize(650650);
f.setVisible(true);
f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
}
}
class?Edge{
int?x;
double?dx;
int?ymax;
}
class?MyCanvas?extends?Canvas{
Vector?v[];
Edge?n[]=new?Edge[6];
Edge?m[]=new?Edge[6];
Edge?t=new?Edge();
????int?x1x2xy;
int?ijkl;
private?Boolean?add;
public?MyCanvas(){
for(i=0;i<6;i++)
{
n[i]=new?Edge();
m[i]=new?Edge();
}
n[0].x=5;
n[0].dx=-3;
n[0].ymax=2;
n[1].x=5;
n[1].dx=3;
n[1].ymax=3;
n[2].x=2;
n[2].dx=0;
n[2].ymax=7;
n[3].x=11;
n[3].dx=0;
n[3].ymax=8;
n[4].x=5;
n[4].dx=2;
n[4].ymax=8;
n[5].x=5;
n[5].dx=-1.5;
n[5].ymax=7;
v=new?Vector[9];
for(i=0;i<9;i++)
{
v[i]=new?Vector();
}
Boolean?add1=v[1].add(n[0]);
Boolean?add2=v[1].add(n[1]);
Boolean?add3=v[2].add(n[2]);
Boolean?add4=v[3].add(n[3]);
Boolean?add5=v[5].add(n[4]);
Boolean?add6=v[5].add(n[5]);
k=0;
}
public?void?paint(Graphics?g){
int?flag=0;
this.setBackground(Color.white);
for(i=0;i<=11;i++)
{
x=10+50*i;
g.drawLine(x100x500);
}
for(j=0;j<=8;j++)
{
y=100+50*j;
g.drawLine(10y560y);
}
j=0;
g.setColor(Color.red);
g.drawLine(110150110400);
g.drawLine(110400260450);
g.drawLine(260450560350);
g.drawLine(560350560100);
g.drawLine(560100260250);
g.drawLine(260250110150);
if(j==0)this.repaint();
}
public?void?update(Graphics?g){
k=0;
g.setColor(Color.blue);
for(int?q=0;q<8;q++)
{
j++;
for(i=0;i m[k]=(Edge)v[j].get(i);
k++;
}
for(l=0;l for(i=l;i if(m[i].x>m[i+1].x){
??t=m[i];
??m[i]=m[i+1];
??m[i+1]=t;
?}
}
}
for(l=0;l if(m[l].x==m[l+1].x)
{
if(m[l].ymax==j&&m[l+1].ymax>j)
{
for(i=l;i {
m[i]=m[i+1];
}
k=k-1;
}
}
}
for(i=0;i {
x1=m[i].x;
x2=m[i+1].x;
while(x1<=x2)
{
x=x1*50+10-5;
y=500-j*50-5;
g.fillOval(xy1010);
x1++;
try{Thread.sleep(1000);}catch(Exception?e){}
}
}
for(i=0;i {
if(m[i].ymax==j)
{
l=i;
while(l {
m[l]=m[l+1];
l++;
}
k--;
i=-1;
}
else?if(m[i].ymax>j)
{
m[i].x=(int)(m[i].x+m[i].dx);
}
}
if(j==8)
break;
}
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2010-09-24?17:24??計算0801—1081220126趙曉森—2\
?????文件????????2791??2010-09-24?14:24??計算0801—1081220126趙曉森—2\FillPloy.java

評論

共有 條評論