Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Статус
Закрыто для дальнейших ответов.

igors

Участник
Сообщения
1 736
Реакции
378
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

А так... Окружность 4 опорных точки на кривой на контуре. 8 опорных вне окружности.
Ну не знает JAW, что окружность определяют 3 опорные точки.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Ну не знает JAW, что окружность определяют 3 опорные точки.
Тригонометрический круг? ))
А если всё-таки безье? То какие точки? Ну с кубическими вопрос в целом ясен, а как насчет квадратичных (ваш pdf, кстати, толкует про них). Какое минимальное количество сегментов нужно для круга?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

(ваш pdf, кстати, толкует про них)
Такое ощущение, что меня никто не понимает. :( Еще раз повторюсь - приведенный PDF толкует о пространственных кривых Безье второго порядка, которые точно описывают окружность, действительно, тремя точками. У нас же в наличии обычные плоские, но третьего порядка. За неимением гербовой пишем на клозетной, как говорится.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Я допускаю что окружность можно описать одной единственной сферической точкой в вакууме, но меня интересует сугубо практическая часть -- кривые безье комп.графики. Кое-какой практический вывод из этой темы я для себя выжал. Осталось дожать еще пару капель. :)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Не пойму, что осталось непонятного, вроде уже все разобрали по винтикам.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Хочу координаты точек "идеального круга" кривых безье второго порядка + размеры "каппы" + обоснование каппы. :)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Хочу координаты точек "идеального круга" кривых безье второго порядка
Где вы видели кривые Безье второго порядка? Разве что, специально свести усы, как Игорь советовал?
размеры "каппы" + обоснование каппы.
Размеры и обоснование каппы вы же сами привели у Адама Станислава
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Где вы видели кривые Безье второго порядка? Разве что, специально свести усы, как Игорь советовал?
Это неважно где я их видел. Я их прямо сейчас перед собой вижу. И если свести усы, то кубическая в квадратичную не превратится.

Размеры и обоснование каппы вы же сами привели у Адама Станислава
А разве это подойдет?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Я их прямо сейчас перед собой вижу. И если свести усы, то кубическая в квадратичную не превратится.
http://ru.wikipedia.org/wiki/%CA%F0%E8%E2%E0%FF_%C1%E5%E7%FC%E5 Раздел "Квадратичные кривые" Как видите - это частный случай кубических, только со сведенными усами, соответственно, "каппа" не имеет смысла. Естественно, четырьмя сегментами уже не представишь - получится эдакий сглаженный квадрат. Примерно на 16 сегментах разница уже практически не видна на глаз. Или вам нужна математическая зависимость погрешности от количества точек разбиения?
А разве это подойдет?
Под квадратичную - нет конечно. Там же совсем другой принцип, каппы вообще не существует, есть местонахождение средней точки. А она задается жестко - пересечение касательных.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Как видите - это частный случай кубических, только со сведенными усами

Я гуманитарий и мне визуально понимать легче, чем таращиться в формулы. Вот два рисунка. Красная линия -- это кубическая безье со сведенными усами, оранжевая -- квадратичная с одним усом в той же точке. Даже если уменьшать "гипотенузу" у кубической, то она квадратичной не становится. Грубо говоря -- непохожа.
 

Вложения

  • quadrat0.png
    quadrat0.png
    8.4 КБ · Просм.: 993
  • quadrat1.png
    quadrat1.png
    10.2 КБ · Просм.: 952

igors

Участник
Сообщения
1 736
Реакции
378
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Я гуманитарий и мне визуально понимать легче, чем таращиться в формулы. Вот два рисунка. Красная линия -- это кубическая безье со сведенными усами, оранжевая -- квадратичная с одним усом в той же точке. Даже если уменьшать "гипотенузу" у кубической, то она квадратичной не становится. Грубо говоря -- непохожа.
Fog_patch Ваш подход не имеет перспектив. Вот числа 2 и 3 похожи или нет, и в чем они похожи?
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Так и знал что будут придирки к слову "непохожи". Да похожи, похожи, Григорьев с Малозёмовым гарантируют 'vottebe1'

Не по теме:
(господа Григорьев с Малозёмовым! Если будете читать эту тему, я извиняюсь за эти шуточки)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Да что вы прицепились к Григорьеву с Малоземовым? Я не пойму, вы придуряетесь что ли - сказали же вам ясно - они совсем другую кривую описывают - пространственную, там даже рисунок есть для особо одаренных.
Тем не менее, вы гораздо умнее, чем пытаетесь показать, например, подход в посте 110 действительно гораздо более конструктивный, чем опираться на точку пересечения касательных. Я, к примеру, его взял исключительно из за простоты вычисления и оценки приближения. Гораздо более точное приближение дает аппроксимация квадратичным сплайном, который опирается на два конца дуги и серединную точку (как в случае с кубическим сплайном). Ни и это не самый оптимальный, оптимальный - примерно такой, как у вас на равом рисунке, но для его вычисления придется решать довольно сложную оптимизационную задачу. Да и надо ли? У нас ведь задача просто оценить погрешность не так ли? А по поводу "непохожести" - я ж вам и говорил, что так хорошо как кубическим не будет. Чем меньше степень тем хуже приближение, к примеру, отрезками (1 порядка) будет совсем хреново, зато 4 порядка - лучше чем кубическими.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

сказали же вам ясно - они совсем другую кривую описывают - пространственную, там даже рисунок есть для особо одаренных.
Я где-то говорил про пространственную? Да мне глубоко параллельно как там ведут себя "пространственные" кривые.
Я говорю про обычную кубическую и обычную квадратичную.
На вики есть замечательные анимашки, которые визуально показывают построение кривой. Они меня очень впечатлили. Я подумал, а как будет выглядеть построение кубической, если усы сдвигать.
Вот сделал в синеме. Любой может визуально убедиться, какие различия между кубической и квадратной. И эти различия никуда не исчезают при соединении усов.
 

Вложения

  • befor.gif
    befor.gif
    172.5 КБ · Просм.: 1 110
  • after.gif
    after.gif
    97.8 КБ · Просм.: 1 029
  • total.gif
    total.gif
    78.4 КБ · Просм.: 1 058

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Я где-то говорил про пространственную? Да мне глубоко параллельно как там ведут себя "пространственные" кривые.
Я говорю про обычную кубическую и обычную квадратичную.
Вот и хорошо. Значит забываем про Григорьева с Малоземовым ибо у них именно пространственная кривая и начинаем обсуждать обычную.

И эти различия никуда не исчезают при соединении усов.
Ну как же не исчезают? Кривая ж совсем другая получается, разве не видно?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Вот, кстати, если вам действительно интересно, откуда берется каппа в случае кубического сплайна и про погрешность аппроксимации, то хорошо написано тут: http://www.piter-press.ru/attachment.php?barcode=978531800297&at=exc&n=0 раздел "Преобразование дуг в кривые Безье"
Для аппроксимации эллипса квадратичными кривыми несколько сложнее. Попробую сформулировать в двух словах. Пусть у нас разбиение круга на N сегментов, соответственно с углом 2*pi/N Посчитаем лучшее приближение такой кривой сплайном Безье второго порядка. У нас известны координаты концов дуги (1,0) и (cos(2*pi/N), sin(2*pi/N) Третью точку мы пытаемся определить, про нее известно только что она опирается на дугу pi/N, обозначим ее неизвестный радиус за R, тогда ее координаты (R*cos(pi/N), R*sin(pi/N)) Подставляем эти координаты в параметрическое уравнение кривой Безье 2 порядка и получаем x(R,t) и y(R,t). Далее нам нужно определить лучшее приближение - то есть минимизировать площадь фигуры, ограниченной дугой окружности и сплайном. Целевая функция - integral (1-sqrt(x(R,t)^2+y(R,t)^2))dt from t=0 to 1 Данную функцию нужно минимизировать по R достаточно примерного интервала от R=0.5 to 1.5
Дальше совсем просто, вольфрам вам в руки ;)
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Вот и хорошо. Значит забываем про Григорьева с Малоземовым ибо у них именно пространственная кривая и начинаем обсуждать обычную.
Мдя... Я вчера в пятый раз открыл этот пдф и вдруг заметил слона. Там РАЦИОНАЛЬНЫЕ сплайны! Это те самые, точки которых кроме координат еще имеют ВЕС. Все кто моделировал в классических NURBS-программах, это очень хорошо знают. В рино это есть, в максе должно быть и в майе. Короче во всех программах где есть настоящие неоднородные рациональные би-сплайны (настоящие в том смысле, что например, в синеме они не настоящие, там только название похожее). То-то igors на каждый вопрос молчит как партизан, и лишь намёками, намёками. Нехорошо людям морочить голову рациональными сплайнами в иллюстраторовской ветке. '))'
В любом случае моя невнимательность ничуть не повлияла на мнение -- сдвинув усы нельзя получить из кубической квадратичную. Это разные кривые.

Ну как же не исчезают? Кривая ж совсем другая получается, разве не видно?
Конечно другая. Ниразу не квадратичная. :)

Вот, кстати, если вам действительно интересно, откуда берется каппа в случае кубического сплайна и про погрешность аппроксимации, то хорошо написано тут: http://www.piter-press.ru/attachment.php?barcode=978531800297&at=exc&n=0 раздел "Преобразование дуг в кривые Безье"
Для аппроксимации эллипса квадратичными кривыми несколько сложнее. Попробую сформулировать в двух словах: .
Спасибо, буду сегодня смотреть.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Там РАЦИОНАЛЬНЫЕ сплайны!
Ну слава богу, дошло наконец до вас! Мало того, что все по русски написано, я вам специально еще приводил фрагмент про пространственные кривые где тоже говорится:
Пусть у нас есть пространственная кривая Безье ... ,в системе координат OXYw, спроецируем все точки исходной кривой на плоскость w=1. ...
Полученная кривая, лежащая в плоскости w=1, и называется рациональной двумерной кривой Безье.
В любом случае моя невнимательность ничуть не повлияла на мнение -- сдвинув усы нельзя получить из кубической квадратичную. Это разные кривые.
Ну как бы вам подоходчивее объяснить? Представляете себе понятие "степень свободы"? Вот представьте себе у каждой кривой такой параметр. То есть, гибкость, возможность подогнать ее под какие-то рамки. Чем выше порядок кривой, тем больше у нее этих самых "степеней свободы", тем лучше можно сделать приближение при помощи нее. Теперь рассмотрим классификацию кривых исход из вышеизложенного. Самый всеобъемлющий класс - пространственные кривые Безье, ими можно без потерь аппроксимировать что угодно, у них самое большое количество этих пресловутых "степеней свободы" Зафиксируем плоскую проекцию пространственной кривой - минус две степени свободы, получаем дробно-рациональную кривую Безье. У нее тоже достаточно степеней свободы, чтобы ей без потерь можно было аппроксимировать параболу, гиперболу и эллипс. По сути, парабола, гипербола и эллипс - это и есть дробно-рациональные кривые Безье с еще более суженными степенями свободы. Еще один более узкий класс кривых, полученный из дробно-рациональных приравниванием знаменателя к единице и степени к тройке (еще минус несколько степеней свободы) - кубические кривые Безье. Они уже не обладают достаточным количеством степеней свободы, чтобы без потерь аппроксимировать эллипс, но позволяют достаточно точно его приблизить четырьмя сегментами. И наконец, если в кубических сплайнах Безье отбросить еще одну степень свободы (свести "уши" в одну точку или прировнять коэффициент при третьей степени к нулю), то получим класс квадратичных кривых Безье. У таких кривых степеней свободы не хватает даже для более-менее точного приближения окружности четырьмя сегментами, на мой взгляд их штук 16 надо для более-менее точного воспроизведения. И, наконец, если точку, в которую мы свели "усы" переместить на середину отрезка между концами дуги и там зафиксировать, получим сплайн Безье первого порядка, который вообще лишен этих самых "степеней свободы" Им аппроксимировать кривые сложнее всего, ибо это и есть отрезки прямой. Так доходчиво?
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Ну слава богу, дошло наконец до вас! Мало того, что все по русски написано, я вам специально еще приводил фрагмент про пространственные кривые где тоже говорится: Пусть у нас есть пространственная кривая Безье

Да. Дошло. Просто я пропускал мимо ушей слово "Пространственная". И по какой-то невероятной причине не видел в пдфе слова РАЦИОНАЛЬНЫЕ. Рациональные -- это те которые имеют вес каждой точки. Это понятие я на практическом уровне использовал еще 10 лет назад в носороге. (Да и любой, кому приходилось моделировать автомобили или еще какие промышленные изделия, тоже хоть однажды использовали носорога, с рациональными сплайнами). Это совсем не обязательно пространственные. Это обычные 2d-кривульки. Кстати в английском разделе вики по нурбс, есть и про идеальный круг с помощью нурбс )))

И наконец, если в кубических сплайнах Безье отбросить еще одну степень свободы (свести "уши" в одну точку или прировнять коэффициент при третьей степени к нулю), то получим класс квадратичных кривых Безье.

Отбросить, и свести уши -- это РАЗНЫЕ вещи. Когда мы сводим уши, промежуточный параметр никуда не исчезает. Я же не просто так делал анимашки? Вот идут три человека, на основе траекторий которых мы выстраиваем кривую. Одно дело когда мы полностью выбрасываем второго, и не учитываем его траекторию и его координаты, но совсем другое, когда этот второй просто топчется на одном месте!!! Так доходчиво? ))
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 297
Реакции
10 866
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?

Рациональные -- это те которые имеют вес каждой точки
Вес точки - это побочный эффект. Дробно-рациональные - от того, что и в числителе и в знаменателе стоят многочлены. А в обычных кривых Безье упростили, приравняв знаменатель к единице. По сути дробно-рациональные - это проекции пространственных кривых на плоскость.
Одно дело когда мы полностью выбрасываем второго, и не учитываем его траекторию и его координаты, но совсем другое, когда этот второй просто топчется на одном месте!!! Так доходчиво? ))
В математике так не бывает. Любое упрощение выражения за счет отбрасывания переменной, на самом деле, означает ее фиксацию. То есть приравнивание ее к нулю, единице, другой переменной, постановка ее в зависимость от чего-то и т.д. В данный момент мы просто приравниваем одну точку к другой и это приводит к обнулению коэффициента при третьей степени - что вас так удивляет?
 
Статус
Закрыто для дальнейших ответов.