In Java / Processing, I want to test whether a bezier curve is overlapping a circle, so that I can shift one of them out of the way.
Is there a simple way to do this?
You can use the bezierPoint()
function to get a series of points along a Bezier curve.
Then you could test those points against your circle.
From the reference:
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);
}
(source: processing.org)