Я пытаюсь создать проект, в котором пользователь может рисовать стрелки на холсте, и для этого мне нужна кривая.Нарисуйте единую квадратичную кривую
Как вы знаете одну квадратичную кривую представляется чем-то вроде этого: M 65 100 Q 300, 100, 300, 20
Где первые две цифры (65, 100) представляет координаты начальной точки, последние два (300,20) представляют координаты конечных точек (конец стрелки). Мне нужно рассчитать средние два числа, основанные на первой и второй точке, чтобы сделать красивую изогнутую линию.
Первая точка будет иметь координаты от mousedown
и вторая точка от mouseup
.
На данный момент я использую вот так.
function addCurve(Ax, Ay, Bx, By){
canvas.add(new fabric.Path('M '+ Ax +' '+ Ay +' Q 100, 100, '+ Bx +', '+ By +'', { fill: '', stroke: 'red' }));
}
addCurve(100,0,200,0);
Итак, как вычислить координаты средней точки, чтобы получить однородную кривую? Я также использую fabric.js в этом проекте.
Вы проверили демонстрацию [Fabric.js - Квадратичная кривая] (http://fabricjs.com/quadratic-curve)? –
Как вы можете сделать кривую только из двух точек? –
@RoryMcCrossan Я на 100% уверен, что вы можете, например, вы можете сделать из них равнобедренный треугольник, а высота треугольника - половину базовой стороны. Я знаю, как, но я не могу привести их в формулу. –