我正在尝试使用Openframeworks中的OpenGL编写画笔描边/绘图应用程序。现在我只想创建跟随你的鼠标的波浪线。
我开始使用折线,但我刚刚设法创建一条跟随鼠标的直线。我真的很感激一些伪代码或某些东西指向正确的方向。
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();
答案 0 :(得分:1)
具有两个顶点的Bezier曲线始终只是一条直线段。您需要添加更多顶点/控制点以获得非退化(圆形)曲线。因此,您可以将最后一个鼠标位置存储在某处,并在鼠标移动一定量(例如20个像素)时添加新的顶点。或者在用户点击时添加顶点。但是,如果你总是只调用bezierTo(x,y,x,y,x,y),你仍然只会得到直线。您需要从(x,y)偏移两个控制点以获得圆曲线。