Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/7823cf62cf1446a24b30f92f27936163 to your computer and use it in GitHub Desktop.
Save anonymous/7823cf62cf1446a24b30f92f27936163 to your computer and use it in GitHub Desktop.
Javascript изменение значения по кривой безье

Javascript изменение значения по кривой безье



Движение объекта по заданной траектории в JavaScript (кривые Безье)
Кривые Безье для ваших игр: учебник
Кривые Безье

TM Feed Хабрахабр Geektimes Тостер Мой круг Фрилансим. Oleg Ulyanov gelosoft Frontend-developer. Как получить значение Y на кубической кривой Безье по заданному X? Координаты параметрических точек для примера 0,0. Мне надо не для построения. Facebook Вконтакте Twitter Google. Решения вопроса 1 Oleg Ulyanov gelosoft Frontend-developer. Ответ написан 12 янв. Ответы на вопрос 2 Ivan Bogachev sfi0zy UI Developer. Антон Мудренок , как вы категорично говорите что никак нельзя Пусть есть четыре точки Обычно кривая задается параметрически вот в таком виде Если произвести нехитрые преобразования получаем более привычные взгляду кубические уравнения относительно t И аналогично для y t. Если мы рисуем только из A 0,0 в D 1,1 имеется в виду вот такая картинка - можно упростить полученное уравнение а еще лучше привести его сразу к каноническому виду, но это уже для автора вопроса задачка Тут и начинается собственно алгоритм, который нам нужен: Задаем x t решаем кубическое уравнение относительно t например по формуле Кардано , получаем 3 корня, отбрасываем комплексные оставшиеся подставляем в уравнение для y t - получаем необходимые значения y Если рисуем из A 0,0 в D 1,1 и координаты остальных точек также от 0 до 1, то всегда будет получаться один корень Так что в целом - можно посчитать необходимые значения с достаточно большой точностью. По факту да, можно найти t от x решением кубического уравнения. Хотя я ни разу не видел, чтобы кто-то так делал. Я сталкивался с такой задачей. Скорость и точность получаются вполне удовлетворительные для практики. Нужно только не забыть обработать особый случай, когда кривая Безье перпендикулярна оси абсцисс - при решении в лоб там деление на ноль получается. Решать кубическое уравнение теоретически можно, но на практике ооочень геморно. Никто так не делает. В интернете можно найти несколько материалов, примерно аналогичных ответу Ivan Bogachev: Типа, дальше всё очевидно. Хотя на самом деле там самая жесть и начинается. Хотя повторюсь, при большом желании это, конечно, возможно сделать. Ответ написан 14 янв. Совершенно с вами согласен, пробовал это реализовать - можно конечно, это даже не так сложно как кажется, но стоит на час переключиться на что-то другое, как код превращается в нечто совершенно непонятное проще переписать, чем понять , поэтому тут скорее спортивный интерес получить результат именно таким способом - на практике я бы тоже склонился к вашему варианту. Ваш ответ на вопрос Войдите, чтобы написать ответ Войти через TM ID. Как добавить ограничение в модель? Привести в порядок front-end в веб-приложении. Нужно настроить AMO CRM. Написать батник по замене текста. Доработка проекта Сайт для тренинговой компании и продукта LMS. Продвижение сайта по прокату авто класса люкс. Войдите на сайт Чтобы задать вопрос и получить на него квалифицированный ответ.


Инструкция по охране труда для газорезчика 2015
как сделать массаж простаты женщине
Хронометраж фильма трансформеры последний рыцарь
изделия из дрожжевого теста пироги
585 рязань каталог изделий
сколько идет линька у кур
делаем модные шорты из старых джинс
ципромед ушные капли инструкция по применению
как сделать диван в камаз
метро московская область схема
футбол чемпионат испании 2016 результаты
магические свойства топаза для женщин
сонник стоять в грязи
Отель элеон второй сезон сколько серий
сколько хромосом у орла
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment