Треугольник Безье

Материал из testwiki
Версия от 07:45, 29 сентября 2024; imported>InternetArchiveBot (Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.9.5)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Треугольник Безье — особый тип поверхности Безье, получаемый при интерполировании (линейном, квадратичном, кубическом или более высокой степени) по контрольным точкам.

Треугольник Безье n-го порядка

Обобщённый треугольник Безье n-го порядка обладает (n + 1)(n + 2)/2 контрольными точками a i β j γ k, где ijk являются неотрицательными целыми числами, такими что i + j + k = n [1]. Тогда поверхность задаётся как

(αs+βt+γu)n=i+j+k=ni,j,k0(ni j k)sitjukαiβjγk=i+j+k=ni,j,k0n!i!j!k!sitjukαiβjγk

для всех неотрицательных вещественных чисел s + t + u = 1.

В линейном случае (n=1) треугольник Безье представляет собой плоский треугольник, вершины которого являются тремя контрольными точками. Квадратичный (n=2) треугольник Безье обладает 6 контрольными точками, которые расположены на его сторонах. Кубический треугольник Безье (n=3) задаётся 10 контрольными точками и является треугольником Безье наименьшего порядка, у которого существует внутренняя контрольная точка, не расположенная на стороне. Во всех случаях стороны треугольника будут являться кривыми Безье одной и той же степени.

Кубический треугольник Безье

Пример треугольника Безье с отмеченными контрольными точками

Кубический треугольник Безье является поверхностью, задаваемой уравнением

p(s,t,u)=(αs+βt+γu)3=β3 t3+3 αβ2 st2+3 β2γ t2u+3 α2β s2t+6 αβγ stu+3 βγ2 tu2+α3 s3+3 α2γ s2u+3 αγ2 su2+γ3 u3,

где α3, β3, γ3, α2β, αβ2, β2γ, βγ2, αγ2, α2γ и αβγ являются контрольными точками треугольника, а s, t, u (при 0 ≤ s, t, u ≤ 1 и s+t+u=1) являются барицентрическими координатами внутри треугольника.[2] [1]

Также треугольник Безье можно представить в более общем виде как

p(s,t,u)=i+j+k=3i,j,k0(3i j k)sitjukαiβjγk=i+j+k=3i,j,k06i!j!k!sitjukαiβjγk

в соответствии с формулой для треугольника Безье n-го порядка.

Углами треугольника являются точки α3, β3 и γ3. Стороны треугольника представляют собой кривые Безье с теми же контрольными точками, что и у треугольника Безье.

При исключении слагаемого с γu получается правильная кривая Безье. При добавлении дополнительных слагаемых можно получить тетраэдр Безье или политоп Безье.

Вследствие свойств уравнения треугольник целиком содержится внутри объёма, ограниченного контрольными точками, а аффинные преобразования контрольных точек трансформируют целый треугольник аналогичным образом.

Деление кубического треугольника Безье

Преимуществом использования треугольников Безье в компьютерной графике является тот факт, что для деления треугольника Безье на два треугольника Безье необходимы только операции сложения и деления на 2, а не арифметика чисел с плавающей запятой. Это означает, что гладкие треугольники Безье можно рекурсивно приблизить совокупностью правильных треугольников путём деления треугольников на два до тех пор, пока образующиеся треугольники не окажутся достаточно малыми.

Ниже представлен метод вычисления новых контрольных точек для половины первоначального треугольника Безье с углом α3, вторым углом на половине кривой Безье между α3 и β3 и третьим углом γ3.

(α3'α2β'αβ2'β3'α2γ'αβγ'β2γ'αγ2'βγ2'γ3')=(10000000001212000000001424140000000183838180000000000100000000012120000000014241400000000001000000000121200000000001)(α3α2βαβ2β3α2γαβγβ2γαγ2βγ2γ3)
Аналогично, используя только сложение и деление на два,
        β3 := (αβ2 + β3)/2
    αβ2 := (α2β + αβ2)/2   β3 := (αβ2 + β3)/2
α2β := (α3 + α2β)/2   αβ2 := (α2β + αβ2)/2   β3 := (αβ2 + β3)/2
    β2γ := (αβγ + β2γ)/2
αβγ := (α2γ + αβγ)/2   β2γ:=(αβγ+β2γ)/2
βγ2 := (αγ2 + βγ2)/2
где := означает замену вектора слева вектором справа.
Заметим, что деление треугольника Безье пополам аналогично делению пополам кривых Безье любого порядка до порядка треугольника Безье.

Примечания

Шаблон:Примечания

Ссылки