Уравнение кривой, сгенерированной QuadCurve2D в Java? - PullRequest
8 голосов
/ 06 апреля 2011

Я нарисовал квадратную кривую, используя QuadCurve2d в Java, используя начальную, конечную и одну контрольную точки. Есть ли способ узнать уравнение этой кривой? Причина, по которой я нуждаюсь, заключается в том, что в некоторой точке этой кривой она может пересекать окружность, и я хочу знать их точку пересечения. В общем, я хочу решить два уравнения, но я не знаю уравнения кривой, сгенерированной QuadCurve2D. Любая помощь будет оценена.

С уважением S

Ответы [ 3 ]

4 голосов
/ 14 июля 2012

См. Javadoc для java.awt.geom.PathIterator, в частности для поля SEG_QUADTO, в котором задается уравнение управления в терминах начальной, конечной и контрольной точек.

0 голосов
/ 20 июля 2012

Эта функция использует квадратичную кривую Безье:

quadratic Bezier formula

Вы можете найти ее в Википедия

0 голосов
/ 06 апреля 2011

Взгляните на класс Area. Метод

public void intersect(Area rhs) {
    curves = new AreaOp.IntOp().calculate(this.curves, rhs.curves);
    invalidateBounds();
}

Вы можете исследовать источники, чтобы понять, как рассчитывается точка пересечения.

...