Когда вы рисуете параболу на обычном графике, вы можете использовать ax^2+bx+c, но когда я хочу изобразить параболу в окне, это мне не подходит. Я предполагаю, что это потому, что ось Y перевернута. Есть ли обходной путь или другая формула, чтобы противостоять этому? Например, если у меня есть игрок с рейтингом (100 150), а я пытаюсь пустить стрелу в яблоко с рейтингом (500 150), как мне это сделать? Я стараюсь оставаться чистым в математике, не усложняя. Я все еще учусь в старшей школе и только узнаю об этом, поэтому, пожалуйста, постарайтесь не усложнять. Мой учитель математики упомянул что-то о квадратичной регрессии, что это?
Как я могу использовать квадратную формулу, когда y перевернут?
Ответы (1)
Один из способов решить эту проблему — использовать две разные системы координат: одну для экрана, а другую для вашей модели.
Ось y
экрана будет направлена вниз. Ось y
вашей модели вверх. Обе системы будут использовать одну и ту же ось x
.
Теперь идея такова: подумайте, используя координаты вашей модели, и сопоставьте их с экраном только для отображения.
Преобразование, отображающее точку с координатами (x, y)
в одной системе в другую, называется
(x, y) -> (x, h - y)
где h
— высота вашего экрана (h > 0
).
Обратное преобразование (то есть то, которое отображает экран на вашу модель) такое же, потому что с точки зрения восходящей оси y
ось экрана y
также находится на расстоянии h
от своего начала.
Применяя это к вашему уравнению, ваша модель будет иметь точки формы
(x, ax^2 + bx +c)
и они будут отображаться в точки
(x, h -ax^2 - bx -c) = (x, -ax^2 - bx + h-c)
в экранных координатах.