Ищу красивый способ представить n-симплекс какой-то плоской моделью, но как-то геометрически, что б рисовать. Конечно, можно рисовать n отрезков нужных длин и двигать точки по ним, но это не то...
Симплекс задан стандартно, вот так:
Предложение 1Известно, что сумма перпендикуляров от внутренней точки остроугольного треугольника величина постоянная, при чём это работает для довольно широкого класса треугольников.
Если пойти этим путём?
Вот, для прямоугольников выполняется, но проблема в "покрытии" - суммы двух пар перпендикуляров равны, а значит, не все точки 3-симплекса можно получить...
Експерименты в GeoGebra показали, что в правильном(да и в принципе выпуклом?) 5-угольнике не из каждой внутренней точки можно опустить перпендикуляры ко всем рёбрам.
Но! Точно могу сказать, что в правильном 5-угольнике точки, из которых можно опустить перпендикуляры
обладают нужным свойством! Сумма равна некоторой константе... При чём, эти точки формируют область в виде 10-угольника. По крайней мере точность до 6 знаков после запятой.. но я думаю, что результат точный.
Для правильного 6-угольника такое не выполняется вообще! Может, только для подмножеств из 6-и или точнее 12-и точек, расположеных симметрично, чего можно ожидать.
Так что такой подход неуниверсальный.. не пойдёт. Как же быть? — Можно модифицировать многоугольники, сделав их рёбра кривыми.
Но опять — надо возможность перпендикуляра на каждое ребро из каждой внутренней точки. Тем более вопрос "покрытия" тоже открыт. Получу ли я все возможные кортежи?
Предложение 2Кривые рёбра наталкивают на мысль о другой геометрии. И правда, тогда есть какой-то шанс.. как минимум строить перпендикуляры от каждой внутренней точки. В голове рисунок модели плоскости отрицательной кривизны в круге. Там есть больше замощений правильными полигонами, может поможет?
ПоследнееПользоваться расстояниями к вершинам, просто наложить веса. Наверное, каждой точке будут свои веса. Будет задано специальное поле, может векторное.
Кажется, что такой подход по-проще и может быть реализован. Наверное, во всех выпуклых многоугольниках отрезки, соединяющие внутреннюю точку с вершинами лежат внутри фигуры, что уже хорошо.
Поиск нужного поля можно делать и програмно.. хоть и не супер просто. Кажется, я могу использовать солверы для constraint satisfaction problems .
А можно попробовать пойти через теорию. Рассмотреть поле с кортежами расстояний к вершинам полигона и попробовать найти ему партнёра, что бы их скалярное произведение было (поточечно?) везде равно константе.
Можно даже проще. Берём сумму расстояний в точке и просто берём обратное число, и поле может быть скалярным. Даже можно умножить на константу. Тогда просто для каждой точки умножаем сумму расстояний на это число и готово!
Вопрос только в "покрытии" — все ли решения уравнения симплекса я получу? Собственно вот это и будет основным вопросом. Как проверить?