Я сделал небольшую скрипку: https://jsfiddle.net/ahvonenj/yp0o728h/Как нарисовать «симпатичные» кривые Безье динамически?
Вы можете нажать левой кнопкой мыши вниз, чтобы переместить красный круг и кривая Безье обращается между двумя точками обновляется, но не так, как я хотел бы, чтобы работать.
Я хотел бы рассчитать контрольные точки динамически, так что кривая выглядит примерно так:
Итак, в основном я хочу, чтобы кривая всегда делала небольшую «симпатичную» кривую от точки А до точки В, независимо от того, как точки расположены. Рисование прямой линии выглядит не очень красиво, поэтому я хотел бы использовать кривую Безье, чтобы линия слегка изогнулась.
Проблема заключается в вычислении позиций контрольных точек. Как это достигается, и есть ли простой способ сделать это, поскольку я видел много приложений, которые, по-видимому, используют динамические кривые безье повсюду.
Поскольку код необходим для сопровождения jsfiddle-ссылки, вот линия, которая в настоящее время рисует кривой Безье со статическими контрольными точками:
ctx.bezierCurveTo(20, 100, 200, 100, c2.x, c2.y);
Я надеюсь, что я не должен делать массовые расчеты прийти с позициями контрольной точки.
Perfect. Большое спасибо! Я отмечу это как ответ, когда смогу. – Piwwoli