Как добавить вершину к кривой Безье с гладкими контрольными точкамиC#

Место общения программистов C#
Ответить
Anonymous
 Как добавить вершину к кривой Безье с гладкими контрольными точками

Сообщение Anonymous »

Имея две конечные точки (P0, P3), две контрольные точки (P1, P2) и новую вершину кривой (v), я хотел бы вычислить две новые контрольные точки для новой вершины, которые выровнены по Smooth метод означает, что две новые контрольные точки и новая вершина являются линейными.
Использование t-положения вершины и стандартных формул:
новая контрольная точка P1 = новая точкаF(t * p0.X + (1-t) * p1.X, t * p0.Y + (1-t) * p1.Y)
новая контрольная точка P2 = новая точкаF(t * p2.X + (1-t) * p3.X, t * p2.Y + (1-t) * p3.Y)
Пока все хорошо, но теперь я ищу уравнение (или код), которое может дать мне две новые контрольные точки для новой вершины в точке t, но опять же, с плавным управлением кривой.
Я пробовал использовать производные этого уравнения, и в большинстве случаев мне удавалось получить правильную контрольную точку, однако контрольные точки не были гладкими, и, поскольку этот многоугольник может располагаться в нескольких квадрантах, я должен убедиться, что нет там есть ошибки, а также я должен убедиться, что движение по часовой стрелке и против часовой стрелки (порядок P0,P3, а также порядок P3,P0) не влияет на результаты

Подробнее здесь: https://stackoverflow.com/questions/791 ... rol-points
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»