2D-геометрия (параметрическое уравнение)
От:
Аноним
Дата: 29.06.05 10:32
Оценка:
Функция y = f(x) задана 2-мя параметрическими уравнениями
y(t) = A(t)= a0 + a1*t + a2*t2 + a3*t3
x(t) = B(t)= b0 + b1*t + b2*t2 + b3*t3
надо в интервале t0-t1 найти максимальную величину отклонения
Re: 2D-геометрия (параметрическое уравнение)
От:
Кодт
Дата: 29.06.05 10:53
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Функция y = f(x) задана 2-мя параметрическими уравнениями
А>y(t) = A(t)= a0 + a1*t + a2*t2 + a3*t3
А>x(t) = B(t)= b0 + b1*t + b2*t2 + b3*t3
А>надо в интервале t0-t1 найти максимальную величину отклонения
Отклонения чего от чего?
Да, кстати: это этюд, или требуется помощь в решении задачи?
Перекуём баги на фичи!
Re[2]: 2D-геометрия (параметрическое уравнение)
От:
Аноним
Дата: 29.06.05 11:24
Оценка:
Здравствуйте, Кодт, Вы писали:
это этюд, или требуется помощь в решении задачи?
Отклонения чего от чего?
имея t0 и t1
получим 2 точки P0(x0,y0) и P1(x1,y1)
Надо получить максимальное отклонение кривой в интервале p0 и p1 от
прямой соединяющей p0 b P1
требуется помощь в решении задачи
29.06.05 15:40: Перенесено модератором из 'Этюды для программистов' — Кодт
Re: 2D-геометрия (параметрическое уравнение)
Здравствуйте, Аноним, Вы писали:
А>Функция y = f(x) задана 2-мя параметрическими уравнениями
А>y(t) = A(t)= a0 + a1*t + a2*t2 + a3*t3
А>x(t) = B(t)= b0 + b1*t + b2*t2 + b3*t3
А>надо в интервале t0-t1 найти максимальную величину отклонения
Сначала переводишь в Безье полином (а этот перевод существует всегда), потом идешь в
Адаптивное разбиение кривой БезьеАвтор: McSeem2 Дата: 16.06.05
и там среди обсуждения находишь, как они считают отклонение кривой Безье.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[3]: 2D-геометрия (параметрическое уравнение)
От:
migel
Дата: 30.06.05 10:53
Оценка:
Здравствуйте, <Аноним>, Вы писали:
А>требуется помощь в решении задачи
А если преобразованием координат свести параметрическую функцию таким образом чтобы p0 и p1 имели одинаковыми одну из координат — грубо говоря чтобы прямая их соеденяющая была бы горизонтальной или вертикальной. тогда высоты от экстремумов полученной кривой даст тебе искомое.
... << RSDN@Home 1.1.4 beta 7 rev. 448>>
Re: 2D-геометрия (параметрическое уравнение)
От:
volk
Дата: 01.07.05 16:43
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Функция y = f(x) задана 2-мя параметрическими уравнениями
А>y(t) = A(t)= a0 + a1*t + a2*t2 + a3*t3
А>x(t) = B(t)= b0 + b1*t + b2*t2 + b3*t3
А>надо в интервале t0-t1 найти максимальную величину отклонения
Отклонение от прямой (x0,y0)-(x1,y1) -- это что такое?
Геометрическое расстояние на плоскости xy?
Или же это max(|y(t) — y_прямой(x(t))|) ?
В первом случае схема решения такая:
1. Поворот системы координат так, чтобы прямая совпала с осью x в новой системе (x',y').
Рассчитываются y'(t), x'(t), задающие кривую в новой системе.
2. Отыскание точек минимума и максимума: там dy/dt == 0.
3. Сравнение значений y(t), рассчитаных в точках экстремумов -- поиск наибольшего.
Если кривая -- не прямая и не особая кривая, то, наверное, по этой схеме все получится.
Однако могут быть неудобные частные случаи.
x'(t) можно не определять.
Тот, кто желает, но не делает, распространяет чуму.
Re: 2D-геометрия (параметрическое уравнение)
От:
piAnd
Дата: 01.07.05 19:46
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Функция y = f(x) задана 2-мя параметрическими уравнениями
А>y(t) = A(t)= a0 + a1*t + a2*t2 + a3*t3
А>x(t) = B(t)= b0 + b1*t + b2*t2 + b3*t3
А>надо в интервале t0-t1 найти максимальную величину отклонения
Че-то я не понял... Уравнения линейные => y=f(x) — прямая? Или какие-то другие сложные штуки?
Или это квадрат и куб цифрами после t?
Если квадрат и куб, то задача чисто аналитически решается.
В маткаде за десять минут
Я вот тут попробовал, получилось следующее: (надо перепроверять!!!)
Всего 2а значения t надо проверить подстановкой,
A*t^2 + B*t + C = 0
где A = 3*a3 + 3*(a1*b2*b3 + a2*b1*b3 + a3*b1*b2)/(b1*b2);
B = 2*a2 + 2*(a1*b2*b3 + a2*b1*b3 + a3*b1*b2)/(b1*b3);
C = a1 + (a1*b2*b3 + a2*b1*b3 + a3*b1*b2)/(b2*b3);
Решения t1, t2 подставляем в:
y(t) + x(t)*(a1*b2*b3 + a2*b1*b3 + a3*b1*b2)/(b1*b2*b3) — y2 + x2*(y2 — y1)/(x2 — x1)
где x1,y1,x2,y2 — координаты соотв-но x(t), y(t) при начальном t_beg и конечном t_end
То значение выражения, которое окажется больше, и есть искомое t !
Вобщем не понятно условие задачи.
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить