2012-01-24 3 views
2

У меня есть две кривые Безье, расположенные на расстоянии друг от друга в пространстве. Кривая 1 имеет контрольные точки A0, A1, A2, A3. A0 и A3 лежат на кривой и являются ее конечными точками Кривая 2 имеет контрольные точки C0, C1, C2, C3. C0 и C3 лежат на кривой и являются ее конечными точкамисоединение двух кривых Безье

Я хочу присоединиться к двум кривым A и C с промежуточной кривой Безье B. промежуточная кривая B имеет контрольные точки A3 и C0, которые лежат на кривой и являются его конечные точки. промежуточные контрольные точки B1 и B2 мне неизвестны. также соединение должно быть достаточно гладко. пожалуйста, помогите, как действовать. много читали о безьерах, но не знают, как это сделать. спасибо, приветствуется, Gauri

+0

благодарит за ответ. его работа прекрасна – gauri2180

+0

Если Арти ответил на ваш вопрос, не стесняйтесь щелкнуть галочкой рядом с его ответом, чтобы принять его. – LarsTech

+0

Вот [html5 учебник] (http://html5tutorial.com/how-to-join-two-bezier-curves-with-the-canvas-api/), которые подробно объясняют, как присоединиться к двум кривым безье. – Alex

ответ

3

B1 будет: B1x = 2 * A3x - A2x; B1y = 2 * A3y - A2y;

B2 будет: B2x = 2 * C0x - C1x; B2y = 2 * C0y - C1y;

Это должно дать вам совершенно гладкое соединение.

2

@Arty

Вы правильно, но это будет только заверить «достаточно гладко» присоединиться.

Чтобы добиться лучшего поиска этих двух кривых, вы также должны иметь 2-ю производную, равную точке соединения. Я помещаю это здесь для тех, кому может понадобиться эта информация.

+0

Вы правы, слово «совершенный» здесь неверно. Но для выравнивания 2-й производной потребуется построить целую кривую по-разному, так как вам нужно не только совместить n +/- 1 контрольные точки, но и n +/- 2. – Arty

Смежные вопросы