Другие языки программирования и технологии
Помогите понять задачу по математике?
Пишу программу на Си. Нужно определить, пересекает ли парабола y=ax^2 + b прямоугольник с координатами противоположных вершин (x1,y1), (x2,y2) и, если пересекает, найти все точки пересечения. Какие действия формулы нужны использовать чтобы решить данную задачу?
Что означает пересечение параболой прямоугольника?
– пересечение параболы с его сторонами
Что означает пересечение со сторонами?
– хотя бы одна точка параболы находится на прямой, на которой лежит сторона и при этом эта точка лежит между угловыми точками прямоугольника, лежащими на этой прямой
Как решать?
1) нас заданы 2 диагональные точки прямоугольника: (x1, y1) и (x2, y2)
2) получается, что прямоугольник ограничен четырьмя прямыми:
y = x1 (горизонтальная прямая)
y = x2 (горизонтальная прямая)
x = y1 (вертикальная прямая)
x = y2 (вертикальная прямая)
При этом все найденные точки пересечения с параболой должны удовлетворять следующим условиям:
min(x1,x2) <= x <= max(x1,x2)
min(y1,y2) <= y <= max(y1,y2)
Последовательно ищем пересечения:
1) y = a*x^2 + b и y = x1:
получаем: x1 = a*x^2 + b
или
x = Корень ((x1 - b) / a)
x = -Корень ((x1 - b) / a)
проверяем, входят ли эти иксы в диапазон [x1,x2]
если входят, то точка (x, x1) – точка пересечения
Повторяем для оставшихся трёх прямых
– пересечение параболы с его сторонами
Что означает пересечение со сторонами?
– хотя бы одна точка параболы находится на прямой, на которой лежит сторона и при этом эта точка лежит между угловыми точками прямоугольника, лежащими на этой прямой
Как решать?
1) нас заданы 2 диагональные точки прямоугольника: (x1, y1) и (x2, y2)
2) получается, что прямоугольник ограничен четырьмя прямыми:
y = x1 (горизонтальная прямая)
y = x2 (горизонтальная прямая)
x = y1 (вертикальная прямая)
x = y2 (вертикальная прямая)
При этом все найденные точки пересечения с параболой должны удовлетворять следующим условиям:
min(x1,x2) <= x <= max(x1,x2)
min(y1,y2) <= y <= max(y1,y2)
Последовательно ищем пересечения:
1) y = a*x^2 + b и y = x1:
получаем: x1 = a*x^2 + b
или
x = Корень ((x1 - b) / a)
x = -Корень ((x1 - b) / a)
проверяем, входят ли эти иксы в диапазон [x1,x2]
если входят, то точка (x, x1) – точка пересечения
Повторяем для оставшихся трёх прямых
Находишь уравнения всех четырёх отрезков, затем левую часть уравнения подставляешь в уравнение параболы и находишь общие точки)
да нафиг тебе эта школа если задачки не интересно решать, естественно ты все найдешь в интернете, лучше постарался бы решить чужие проблемы, типо битвы добра со злом
Похожие вопросы
- Если человеку было сложно решать задачи по математике, то как это может отразиться на работе программиста?
- программисты, кто сможет решить задачу по математике ???
- Помогите решить задачу на Турбо паскале
- Народ, слезно прошу помочь решить задачу по информатике (програмирование), я просто ноль в этом(((
- Помогите решить задачу.
- Помогите решить задачи по C++
- Помогите решить задачу на программирование!
- помогите с задачей С++..в общем не могу понять что не правильно сделал... условие и код внутри
- Нужно написать псевдокод кто поможет объяснить задачу чтобы я понял его. заранее огромная спасибо!
- Помогите решить задачу на Basic