|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Eugeney Nyrkov 2:5012/50.13 13 Dec 2001 00:42:30 To : Igor Dolgov Subject : Спрашивал уже, но меня не поняли... --------------------------------------------------------------------------------
Сижу, играю в Сапера, а тут Четверг Декабрь 06 2001 22:56, Igor Dolgov пишет
All:
ID> В конечном счете надо написать программу которая имея на входе R и N
ID> выдает это самое расстояние, но вот как? Я не знаю. Помогите
ID> пожалуйста.
В общем слушай сюда.
При равномерном распределении на плоскости все точки располагаются в
узлах сети. Элементарная ячейка этой сети - равносторонний треугольник,
сторона которого есть искомая величина r. Каждая такая ячейка состоит из
трех точек, а каждая точка принадлежит одновременно шести ячейкам.
Следовательно, "число" или "параметр" ячейки (по аналогии с
кристаллической решеткой из химии/физики) равен 3/6 = 0.5. То есть
суть в том, что ячеек в два раза меньше, чем точек. При достаточно
большом N можно с уверенностью полагать, что суммарная площадь всех
ячеек равна площади круга. Имеем:
площадь элементарной ячейки s = r*r*Sqrt(3)/4
площадь всех ячеек S = s*N/2 = r*r*N*Sqrt(3)/8
площадь круга F = п*R*R
Решаем S = F и получаем
r = R*Sqrt(8*п/(N*Sqrt(3)))
Все!
Для тех, кто вдруг еще не вылез из танка :)
Sqrt - квадратный корень
п - число "пи"
ЗЫ Или тебе исходник надо было? Если да - то в мыло.
C уважением, Hырков Евгений.
--- GoldED 2.5+
* Origin: Virtual FDD 3.5" VERSION 1.0 (2:5012/50.13)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/222603c17ebdf.html, оценка из 5, голосов 10
|