Ciao 访客, welcome back to old school! :p
void setup(){ size(800,800); background(255,255,0);} void draw( int x1,int y1,int x,int y,int i){ if(keyPressed==true) { if(key=='r') { background(255,0,255); } } for(i=1;i>0;i++) { if(mousePressed) { if(i==1) { stroke(255,0,0); point(mouseX,mouseY); x1=mouseX; y1=mouseY; } else if(i>1) { stroke(0,255,0); point(mouseX,mouseY); x=mouseX; y=mouseY; MidpointLine(x1,y1,x,y); x1=x; y1=y; } //i } // if mousereleased }//for} void MidpointLine(int x0,int y0,int x11, int y11){ int dx=x11-x0; int dy=y11-y0; int d=2*dy-dx; int incrE=2*dy; int incrNE=2*(dy-dx); int x=x0,y=y0; stroke(0,0,255); point(x,y); while(x<x11) { if(d<=0) { d+=incrE; x=x+1; } else { d+=incrNE; x=x+1; y=y+1; } point(x,y); }// while}//Midpointline
int px = -1, py=-1;void setup(){ size(800, 800); stroke(0);}void mouseReleased(){ if (px == -1) { px = mouseX; py = mouseY; } else { line(px, py, mouseX, mouseY); //MidpointLine(px, py, mouseX, mouseY); px = mouseX; py = mouseY; }}void draw(){ if (keyPressed==true) { if (key=='r') { background(255, 0, 255); } }}void MidpointLine(int x0, int y0, int x11, int y11){ int dx=x11-x0; int dy=y11-y0; int d=2*dy-dx; int incrE=2*dy; int incrNE=2*(dy-dx); int x=x0, y=y0; stroke(0, 0, 255); point(x, y); while (x<x11) { if (d<=0) { d+=incrE; x=x+1; } else { d+=incrNE; x=x+1; y=y+1; } point(x, y); }// while}//Midpointline