|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.02.2012, 23:24 | #1 |
Регистрация: 08.02.2012
Сообщений: 4
|
Алгоритм решения задачи
Задача.
В кубе с ребром 150 мм случайным образом (по Методу Монте-Карло) требуется разместить ровно 2800 точек. Эти точки должны быть расположены не ближе 12 мм одна от другой. В решении должны быть выданы координаты центра (x, y, z) всех точек. Как решить? |
09.02.2012, 09:24 | #2 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Вы просили алгоритм
Цитата:
Цитата:
Цитата:
r.x:=randdom(150); r.y:=random(150); r.z:=random(150); Цитата:
(школьный учебник геометрии) проверяем нашу точку на выполнение условия со всеми уже найденными (внесенными в массив). Если хотя бы одно не выполнено, то берем новую точку (возвращаемся к random). если все условия выполнены вносим точку в массив на свободное место. Если есть свободные места, то берем новую точку(возвращаемся к random). Если свободных мест нет, то мы СДЕЛАЛИ! P.S.есть некоторые сомнения, что мы сумеем дойти до конца. (150/12)^3 =1953,125 < 28000 (в десятки раз!)
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 09.02.2012 в 09:33. |
||||
09.02.2012, 10:36 | #3 |
Новичок
Джуниор
Регистрация: 09.02.2012
Сообщений: 1
|
P.S.есть некоторые сомнения, что мы сумеем дойти до конца.
присоединяюсь |
09.02.2012, 16:22 | #4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
каждая точка занимает шар с радиусом половина минимального рассояния.(12/2 =6) шары могут выступать за границу куба на размер своего радиуса.(точки на грани куба). Объем увеличенного куба / объем одного шара = смотри выше.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 09.02.2012 в 16:28. |
|
10.02.2012, 21:57 | #5 | ||
Регистрация: 08.02.2012
Сообщений: 4
|
Спасибо за ответы. В основном все понятно. Забыл еще одно условие указать: точки и от граней куба должны отстоять на 6 мм.
Цитата:
И еще вопрос: как задать, чтобы точки были не ближе 6 мм к граням куба? Извиняюсь за дилетантские на взгляд программиста вопросы. Сам начинаю. Времени немного, а спросить рядом не у кого. И еще: подскажите, в какой программе это лучше реализовать? Цитата:
|
||
10.02.2012, 22:35 | #6 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
если в граничной области (r.x<6) or (r.x>150-6), то выбрать новую точку аналогично для y z. Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.02.2012 в 22:43. |
||
10.02.2012, 22:54 | #7 |
Регистрация: 08.02.2012
Сообщений: 4
|
Спасибо большое!
evg_m А приведенный код какой программы? |
13.02.2012, 09:02 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
1.берем точку из массива. 2.вычисляем расстояние от этой точки до нашей (той которую проверяем). 3.проверяем выполнение условия расстояние межу точками <!2 вернее мы проверяем равносильное условие квадрат расстояния <12*12 (двенадцать в квадрате).
программа — запись алгоритма на языке понятном транслятору
|
|
13.02.2012, 22:50 | #9 |
Регистрация: 08.02.2012
Сообщений: 4
|
Спасибо! Понятно!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен алгоритм решения задачи!!!!!! | Катя21 | Помощь студентам | 2 | 03.01.2012 13:14 |
Алгоритм решения задачи на графы в С++ | Fiamma | Помощь студентам | 6 | 06.11.2011 00:11 |
Открыт ли алгоритм для решения этой задачи? | Ru_DoLF | Помощь студентам | 0 | 19.03.2011 20:17 |
Разработать алгоритм и программу решения задачи с использованием | Jereme | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 07.05.2009 14:06 |