首页 文章

使用OpenGL / Openframeworks绘制应用程序

提问于
浏览
0

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

我已经开始使用polyline但我刚刚创建了一条跟随我的鼠标的直线 . 我真的很感激一些伪代码或某些东西指向正确的方向 .

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();

1 回答

  • 1

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

相关问题