0

我正在尝试使用 Openframeworks 中的 OpenGL 编写画笔描边/绘图应用程序。现在我只是想创建跟随鼠标的波浪线。

我已经开始使用 ofpolyline,但我刚刚设法创建了一条跟随鼠标的直线。我真的很感激一些伪代码或一些可以为我指明正确方向的东西。

start. set (mouseX,mouseY);
end.set(mouseX,mouseY);

ofPolyline myline;
myline.addVertex(start.x,start.y);
myline.curveTo(end.x,end.y); 
myline.bezierTo(mouseX,mouseY, mouseX,mouseY,mouseX, mouseY);
myline.addVertex(end.x,end.y);
myline.draw();
4

1 回答 1

1

具有两个顶点的贝塞尔曲线始终只是一条直线段。您需要添加更多顶点/控制点以获得非退化(圆形)曲线。因此,您可以将最后一个鼠标位置存储在某处,并在鼠标移动一定量(例如 20 像素)时添加一个新顶点。或者在用户点击时添加一个顶点。但是,如果你总是只调用 bezierTo(x,y,x,y,x,y),你仍然只能得到直线。您需要从 (x,y) 偏移两个控制点以获得圆曲线。

于 2013-06-22T17:02:46.673 回答