Что ж, если анализ не удастся, возьмите компьютер и проделайте глупые вычисления, пока не почувствуете числа ...
У меня тоже есть копия Mathematica. Для простоты, поскольку треугольник должен лежать в плоскости, я проработал следующее в 2D-пространстве. Чтобы упростить задачу, я указываю точку в {0,0}
и отрезок от {1,0}
до {0,1}
. Среднее расстояние от точки до линии должно быть, если это имеет смысл, средней длиной всех линий, которые могут быть проведены от {0,0} до любой точки сегмента линии. Конечно, таких строк очень много, поэтому давайте начнем, скажем, с 10. В системе Mathematica это можно вычислить как
Mean[Table[EuclideanDistance[{0, 0}, {1 - k, 0 + k}], {k, 0, 1, 10.0^-1}]]]
что дает 0.830255
. Следующий шаг очевиден - увеличьте количество измеряемых линий. Фактически, давайте составим таблицу средних значений, когда показатель степени 10.0 станет меньше (они отрицательны!). В системе Mathematica:
Table[Mean[Table[EuclideanDistance[{0, 0}, {1 - k, 0 + k}], {k, 0, 1,
10.0^-i}]], {i, 0, 6}]
который производит:
{1, 0.830255, 0.813494, 0.811801, 0.811631, 0.811615, 0.811613}
Следуя этому подходу, я переработал пример @Dave (забудьте о третьем измерении):
Table[Mean[Table[EuclideanDistance[{0, 0}, {4, 0 + 3 k}], {k, 0, 1,
10.0^-i}]], {i, 0, 6}]
который дает:
{9/2, 4.36354, 4.34991, 4.34854, 4.34841, 4.34839, 4.34839}
Это не согласуется с тем, что, по словам @dreeves, вычисляет алгоритм @Dave.
РЕДАКТИРОВАТЬ: Хорошо, поэтому я потратил на это еще немного времени. Для простого примера, который я использовал в первую очередь, то есть с точкой в {0,0}
и отрезком линии, простирающимся от {0,1}
до {1,0}
, я определяю функцию в Mathematica (как всегда), например:
fun2[k_] := EuclideanDistance[{0, 0}, {0 + k, 1 - k}]
Теперь это интегрируемо. Mathematica дает:
In[13]:= Integrate[fun2[k], {k, 0, 1}]
Out[13]= 1/4 (2 + Sqrt[2] ArcSinh[1])
Или, если вы предпочитаете числа, это:
In[14]:= NIntegrate[fun2[k], {k, 0, 1}]
Out[14]= 0.811613
что дает чисто численный подход, который я использовал ранее.
Теперь я собираюсь вернуться к работе и предоставить вам возможность обобщить это на произвольный треугольник, определяемый точкой и конечными точками отрезка линии.
person
High Performance Mark
schedule
20.04.2010