在Java / Processing中,我想测试贝塞尔曲线是否与圆重叠,这样我就可以将其中一条曲线移开。
有一种简单的方法吗?
答案 0 :(得分:5)
您可以使用bezierPoint()
函数沿Bezier曲线获取一系列点。
然后你可以针对你的圈子测试这些点。
noFill();
bezier(85, 20, 10, 10, 90, 90, 15, 80);
fill(255);
int steps = 10;
for (int i = 0; i <= steps; i++) {
float t = i / float(steps);
float x = bezierPoint(85, 10, 90, 15, t);
float y = bezierPoint(20, 10, 90, 80, t);
ellipse(x, y, 5, 5);
}