ที่เวลาวาดแล้วเลื่อนขึ้นด้านบนเป็น -Y แทนที่จะเป็น +Y
ก็เลยวาดแกนใหม่ซะเองเลย
void setup(){
size(500,500);
background(255);
stroke(0);
strokeWeight(3);
noFill();
translate(width/2,height/2);
frameRate(80);
}
void draw(){
translate(width/2,height/2);
background(255);
float RealMouseX = mouseX-(width/2);
float RealMouseY = mouseY-(height/2);
DrawAxis();
DrawPoint(RealMouseX,RealMouseY);
ShowQuadrant(RealMouseX,RealMouseY);
ShowCoordinate(RealMouseX,RealMouseY);
}
void DrawAxis(){
fill(0);
//draw X axis
line(-(width/2),0,width/2,0);
//draw left arrow
line(-(width/2),0,-(width/2)+20,-10);
line(-(width/2),0,-(width/2)+20,10);
text("-X",-(width/2)+5,-15);
//draw right arrow
line(width/2,0,(width/2)-20,-10);
line(width/2,0,(width/2)-20,10);
text("+X",(width/2)-20,-15);
//draw Y axis
line(0,-(height/2),0,height/2);
//draw top arrow
line(0,-(height/2),-10,-(height/2)+20);
line(0,-(height/2),10,-(height/2)+20);
text("+Y",10,-(height/2)+15);
//draw bottom arrow
line(0,height/2,-10,(height/2)-20);
line(0,height/2,10,(height/2)-20);
text("-Y",10,(height/2)-5);
noFill();
}
void DrawPoint(X,Y){
noStroke();
fill(255,0,0);
ellipse(X,Y,5,5);
stroke(0);
}
void ShowQuadrant(X,Y){
int TSize = 40;
textSize(TSize);
fill(0,0,255);
//check Q1
if((X>0)&&(Y<0)){
text("Q1",width/4-(TSize/2),-(height/4)+(TSize/2));
}
//check Q2
if((X<0)&&(Y<0)){
text("Q2",-(width/4)-(TSize/2),-(height/4)+(TSize/2));
}
//check Q3
if((X<0)&&(Y>0)){
text("Q3",-(width/4)-(TSize/2),height/4+(TSize/2));
}
//check Q4
if((X>0)&&(Y>0)){
text("Q4",width/4-(TSize/2),height/4+(TSize/2));
}
}
void ShowCoordinate(X,Y){
float CalX = X;
float CalY = -Y;
fill(255,0,0);
textSize(10);
text("("+CalX+","+CalY+")",X+5,Y-5);
}