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

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

Fog_patch

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

Я перевел лишь часть абзаца. Там дальше объяснения с формулами. Там не надо думать, там уже другие подумали. :)
 

_MBK_

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

Особо лень было разбираться. Варианта всего два: или вики врет, и окружность не является кривой второго порядка (что мне логичнее всего); то ли не любая кривая второго порядка является частным случаем кривой Безье ;)
 

igors

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

Перевод из en-википедии:
Некоторые кривые, которые кажутся простыми, такие как круг, не могут быть точно описаны с помощью Безье или кусочно-заданной функции Безье; хотя кубическая кривая Bézier с четырьмя частями может приблизиться к кругу (см. сплайн Bézier), с максимальной радиальной ошибкой меньше чем одной тысячной [...] :)
Доказательство, что можно и Безье 2 порядка найдете в работе: М. И. Григорьев, В. Н. Малозёмов, А. Н. Сергеев, "МОЖНО ЛИ ПОСТРОИТЬ ОКРУЖНОСТЬ С ПОМОЩЬЮ КРИВЫХ БЕЗЬЕ?".
 

Вложения

  • CircleBezier.pdf
    99.8 КБ · Просм.: 516

Fog_patch

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

Хорошо, я посмотрю. Вернее есть у меня математик, которого я всегда напрягаю, и который посмотрит '))'
Но если вы сами хорошо понимаете в математике, то даю ссылку (машинный перевод!):
http://translate.google.com/transla...tp://whizkidtech.redprince.net/bezier/circle/
 

igors

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

Хорошо, я посмотрю. Вернее есть у меня математик, которого я всегда напрягаю, и который посмотрит '))'
Но если вы сами хорошо понимаете в математике, то даю ссылку (машинный перевод!):
http://translate.google.com/transla...tp://whizkidtech.redprince.net/bezier/circle/
Не знаю, кто Ваш математик, я вам дал доклад руководителя СЕМИНАР'а ПО ДИСКРЕТНОМУ ГАРМОНИЧЕСКОМУ АНАЛИЗУ И ГЕОМЕТРИЧЕСКОМУ МОДЕЛИРОВАНИЮ (DHA & CAGD) СПБГУ. Собственно авторы доклада основывают его на классической монографии "Curves and Surfaces for CAGD. A Practical Guide" Gerald Farin. Посмотрите стр.222. Похоже Ваш Г. Адам Станислав её не читал.
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998

xm

иксэ́м
R.I.P.
Сообщения
4 978
Реакции
2 667
Ответ: Как отрисовать фигуру "бесконечность" (повернутая 8), зная ее математическое уравнение?


Не по теме:
от науки тема в какие-то сиськи перешла ))) но прикольна
 

_MBK_

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

Я сильно глубоко не вдавался, но, судя по приведенным ссылкам, все таки доверия Фарину гораздо больше, чем этому странному Адаму Станиславу у которого, вдобавок, из всех обоснований, толко ссылка на Мортенсона, у которого я тоже доказательства так и не нашел. Так значит, все таки, дуга окружности - это и есть сплайн Безье второго порядка?
 

igors

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

Из третьего порядка второй Вы получите сведя концы усиков, которыми привыкли пользоваться в одну точку.
Окружность из 3 кривых Безье получите, если концы усиков поместите в вершины описанного равностороннего треугольника.
Окружность из 4 кривых Безье получите, если концы усиков в вершины описанного квадрата.
Окружность из 5 кривых Безье получите, если концы усиков в вершины описанного правильного пятиугольника.
Окружность из 6 кривых Безье получите, если концы усиков в вершины описанного правильного .
 

_MBK_

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

Имеется в виду "настоящая" окружность y^2+x^2=1 или, все-таки, достаточно сильное приближение?
 

igors

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

Настоящая. Даже не кусочно гладкая.
 

Fog_patch

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

Окружность из 4 кривых Безье получите, если концы усиков в вершины описанного квадрата.
Продемонстрируйте, пожалуйста на рисунке, если не затруднит. А то я чё-то понять не могу.
 

_MBK_

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

Не совсем в вершины. Тут у Адама Станислава правильно написано - длина усиков 0,5522847498*R
 

Fog_patch

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

Ну если значение каппы (по Адаму Станиславу) не вызывает каких-то протестов, то вычислить предполагаемую погрешность можно довольно быстро, программным путём. Но у меня это займет как минимум 2 часа. И в данный момент для меня это непозволительная роскошь :(
Поэтому, если у _MBK_ есть время, то я бы попросил его заняться этим вопросом, чтоб прекратить мучительные сомнения у общественности. 'otbline'
:)
 

_MBK_

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

Ну судя по приведенным источникам погрешность нулевая - то есть, при этом значении, как сказал Игорь, кривая Безье совпадает с дугой окружности
 

Fog_patch

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

Но ведь для чего-то Адам Станислав городил целую статью?

Не по теме:
Ладно, я проверю. Но у меня всё расписано на 5 дней вперед, поэтому пока вопрос повис (для меня).
 

_MBK_

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

Ну в принципе он все верно написал, за исключением вывода о том, что мы получаем всего лишь приближение дуги окружности, а не саму дугу. Мне показалось доказательство приведенное в работе из поста 65 вполне убедительным, к тому же и Фарин это подтверждает. А у Адама Станислава вообще без доказательства. Может он вообще не то в виду имел, мало ли, перевод неточный, к примеру? ;)
 

_MBK_

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

Короче говоря, задался я этим вопросом повнимательнее и обнаружил, что, казалось бы, по такому пустяковому поводу мнения в интернете разделились поровну. Одни источники утверждают что дуга окружности - это кривая Безье, другие (в т. ч. Википедия), что возможно лишь приближение. Почитав источники более внимательно, я понял, что правы и те и другие - да, дугу окружности действительно нельзя представить кривой Безье в том виде, в котором мы ее себе предстваляем, об этом пишет и вики и Адам Станислав и еще множество источников. Однако, специально для этого предстваления ввели более общий класс кривых "пространственная кривая Безье", проекцией которой и является дуга окружности. Именно эта кривая подразумевается в статье из поста 65 и у Фарина под кривой Безье. Так что, как всегда истина оказалось посредине. Подробнее почитать об этом можно тут: http://fit.com.ru/Surveys/Course/Lecture_04.doc
 

Йожег

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


Не по теме:
Я думал что хоть сотню постов наколотят )) ТС кстати сломался и перестал отвечать еще 20 дней назад
 

Fog_patch

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

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

Короче погрешность есть, и она далеко не нулевая, а при увеличении радиуса она растёт. Какие отсюда следуют выводы, я не знаю ))
 

Вложения

  • bezier.zip
    50.8 КБ · Просм.: 263
Статус
Закрыто для дальнейших ответов.