У меня есть три точки X/Y, которые образуют параболу. Мне просто нужно вычислить, какая вершина параболы проходит через эти три точки. Желательно быстро, так как я должен выполнить много этих вычислений!
Веб-сайт "Ask A Scientist" предоставляет этот ответ:
Общий вид параболы задается уравнением: A * x ^ 2 + B * x + C = y, где A, B и C - произвольные вещественные постоянные. У вас есть три пары точек, которые являются (x, y) упорядоченными парами. Подставляя значения x и y каждой точки в уравнение для параболы. Вы получите три уравнения ЛИНЕЙНА с тремя неизвестными, тремя константами. Затем вы можете легко решить эту систему из трех уравнений для значений A, B и C, и вы получите уравнение параболы, которая пересечет ваши 3 точки. Вершина равна где первая производная равна 0, а небольшая алгебра дает: (-B/2A, C - B ^ 2/4A) для вершины.
Было бы неплохо увидеть фактический код, который выполняет этот расчет на С# или С++. Кто-нибудь?