Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
4 / 4 / 0
Регистрация: 13.02.2013
Сообщений: 37

Кривая Безье, получить X(1,2) по данному Y

02.09.2014, 18:52. Показов 1900. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Не могли бы вы подсказать формулу, по которой я смогу при данном Y получить X1,2?
Решение необходимо для квадратичной кривой Безье,
формула, задающая кривую:
https://www.cyberforum.ru/cgi-bin/latex.cgi?B(t) = (1 - t)^2 P_0 + 2t (1-t) P_1 + t^2 P_2, где t принадлежит от 0 до 1, а P0, P1 и P2 - точки, задающие кривую.

Точки, задающие кривую мне известны, Y мне известен. Помогите, пожалуйста, получить уравнение для поиска X при данном Y.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.09.2014, 18:52
Ответы с готовыми решениями:

Кривая Безье в сплайн Безье
Здравствуйте. Я по специальности программист и мне нужно генерировать замкнутую кривую не пересекающую себя. Наткнулся на кривую Безье, на...

Кривая Безье
Привет всем. Если не трудно помогите решыть одну задачу. Есть кривая Безье, из нее нужно сделать пaраболоид. Зарание спаисбо!. Вот сама...

Кривая Безье
Создать функцию, которая на входе принимает опорные узлы в формате (x,y) и их количество n. Число n зависит от того, сколько узлов ввели....

5
Эксперт по математике/физике
4184 / 3052 / 918
Регистрация: 19.11.2012
Сообщений: 6,196
03.09.2014, 13:07
Пациент29, что такое X и что такое Y?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
03.11.2014, 18:49
Цитата Сообщение от kabenyuk Посмотреть сообщение
что такое X и что такое Y?
Координаты…
Цитата Сообщение от Пациент29 Посмотреть сообщение
получить уравнение для поиска X при данном Y.
Наверно нужно построить график X координаты на кривой от t.
Тогда при чему равен t при данном X . Затем зная t находим по формуле Y.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.11.2014, 13:28
Сам давно искал. Оказалось они давно были…В общем мне тоже нужно, проверил на практике.
https://ru.wikipedia.org/wiki/Кривая_Безье
Написал в GeoGebra потаскал точки…кому-то придется переписать вики…
Начальные условия: кривая Безье 2 степени по 3 точкам на плоскости
Точке D задан параметр t=0.25
Определение t через x координату D = xB.
t0=(x0-x1+sqrt((x0-2*x1+x2)*xB+x1^2-x0*x2))/(x0-2*x1+x2)
t1=(x0-x1-sqrt((x0-2*x1+x2)*xB+x1^2-x0*x2))/(x0-2*x1+x2)
Условие проверка1=x0 - 2x1 + x2 не равны нулю
Итог:Проверка не равна нулю
t0=2.11
t1=0.25 верно
Следствие добавить условие к проверкам :
x0 - 2x1 + x2 не равны нулю и меньше 1

Следующий кадр, проверка проходит, а один результат не верный, а как угадать какой…
Следовательно формулы проверки бред…

Возьмем опять непонятно откуда взятые формулы с вики.
t3=(xB-x0)/2*(x1-x0)
проверка2=x0-2*x1+x2 равно 0 и x0 не равно x1
t4=sqrt((xB-x0)/(x2-x1)) x0 равно x1 не равно x2

Итого из 4 формул, одна верный результат..
Но как узнать какую формулу брать? Если условия проверки проходит но они не достаточны? Не дописали еще какие-то условия…
Может где-то ошибка? Проверял в GeoGebra 5 ( бесплатна).

P.S опять в книгах по математике бред…
Миниатюры
Кривая Безье, получить X(1,2) по данному Y  
Вложения
Тип файла: zip поиск t от X координататы точки на кривой Безье 2 ст.zip (3.6 Кб, 7 просмотров)
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.11.2014, 14:50
Новые параметры
t0x=(x0-x1+sqrt((x0-2*x1+x2)*xB+x1^2-x0*x2))/(x0-2*x1+x2)
t1x=(x0-x1-sqrt((x0-2*x1+x2)*xB+x1^2-x0*x2))/(x0-2*x1+x2)
t0y=(y0 - y1 + sqrt((y0 - 2y1 + y2) yB + y1² - y0 y2)) / (y0 - 2y1 + y2)
t1y=(y0 - y1 - sqrt((y0 - 2y1 + y2) yB + y1² - y0 y2)) / (y0 - 2y1 + y2)

Похоже дополнительное условие это если в массиве(Массив t0x, t0y, t1x, t1y
) есть 2 одинаковых числа, это и есть t.Но какой тогда смысл? Если даны xB, yB то находим t.
Я думал можно сканировать как если известно только xB…а выходит нет, и на вики об этом ни слова.
Отсюда и нет ситуации если кривая пересекает интересуемую кривую два раза =(.
Миниатюры
Кривая Безье, получить X(1,2) по данному Y   Кривая Безье, получить X(1,2) по данному Y  
Изображения
 
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.11.2014, 15:01
А может так:
Есть xB на кривой, находим два вероятных t
t0x=(x0-x1+sqrt((x0-2*x1+x2)*xB+x1^2-x0*x2))/(x0-2*x1+x2)
t1x=(x0-x1-sqrt((x0-2*x1+x2)*xB+x1^2-x0*x2))/(x0-2*x1+x2)

Теперь по формуле кривой Безье 2 ст находим два вероятных Y.

Затем подставляем их в формулу
t0y=(y0 - y1 + sqrt((y0 - 2y1 + y2) yB + y1² - y0 y2)) / (y0 - 2y1 + y2)
t1y=(y0 - y1 - sqrt((y0 - 2y1 + y2) yB + y1² - y0 y2)) / (y0 - 2y1 + y2)

А теперь если в массиве(Массив t0x, t0y, t1x, t1y) есть 2 одинаковых числа, это и есть t.
Странный метод, и это только большинство случаев, а еще есть 3 уникальных (см. вики ссылку).Но как быть если xB на кривой при проекции на ось Ox пересекает ее два раза?
Странно все это…
Похоже это и есть ответ для ТС =).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2014, 15:01
Помогаю со студенческими работами здесь

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

Кривая Безье
Много гуглил по ним, но досконального и простого кода так и не нашёл. Да, я перекопал много кодов. В общем, мне надо строить её через...

кривая безье
формула вторая праизводна для кривой безье хач у

Кривая безье
помогите разобраться с ней. Хотел сделать плавный эффект прокрутки сам, много стало ясно когда начал читать, но по всей видимости не до...

Кривая Безье
Здравствуйте, мне нужна помощь, а именно нужно откорректировать код, чтобы кривая рисовалась из 2 точек, в данном случаи она рисуется из 4....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru