Уравнение кривой, сгенерированной QuadCurve2D в Java?

#java #swing #equation-solving

#java #swing #решение уравнений

Вопрос:

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

С уважением, S

Ответ №1:

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

Ответ №2:

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

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

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

Ответ №3:

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

квадратичная формула Безье

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