【发布时间】:2021-05-30 17:45:46
【问题描述】:
我刚开始学习处理,但有一些我无法解决的问题。我希望有人能帮助我。这应该画出我可以用mousePressed() 选择起点和终点的线,但在尝试实现之前我失败了。
//int x1, x2, y1, y2;
void setup() {
size(640, 480);
}
void draw() {
midpoint(0, 0, 100, 100);
}
//void mousePressed() {
// pmouseX =x1;
// pmouseY =y1;
// mouseX =x2;
// mouseY =y2;
//}
void midpoint(int x1, int y1, int x2, int y2) {
int dx, dy, d, x, y;
dx = x2-x1;
dy = y2-y1;
d = 2*dy-dx;
x = x1;
y = y1;
for (int i = 1; i <dx; i++) {
point(x, y);
if (d>0) {
y++;
d+=2*(dy-dx);
} else {
d+=2*dy;
}
x++;
}
}
我的问题是它不会总是画线。 例如
midpoint(0,0,100,100);
它会画出来
midpoint(100,100,0,0);
它什么也没画。
如果我交换点坐标,它应该画同一条线,如果坐标相同,它应该画一个点。
【问题讨论】:
标签: processing