| Оптимальное исследование поверхности марсоходом | |
|---|---|
|
sphinx Сообщений: 32776 Откуда: Екатеринбург Дата регистрации: 22.11.2006 |
Есть интересная задача. Марсоход должен исследовать поверхность. Исследование заключается в отсылке снимков через каждые K метров, объем отсылаемых снимков Vcur (Мб), общий объем памяти марсохода - V (Тб). Марсоход не должен повторять снимки одного и того же участка местности (цель - исследовать как можно больше).
Составить блок-схему движения. Я так понимаю, что нужно решить ряд задач: 1) Определение первоначального направления движения. Ну, тут видимо без разницы, можно координаты X и Y определить через RAND(). 2) Выбор стратегии/алгоритма обхода территории. Тут можно много придумать, например: 1) Выбрать прямую. 2) Выбрать синусоиду/зигзаг. 3) Выбрать спираль. По логике первые две стратегии не дают общего представления об окружающей поверхности вокруг базы (с которой стартует марсоход). Я бы выбрал движение по спирали. Сначала была идея с заданием угла поворота, там расчеты очередной координаты (X;Y), но есть же уравнение движения по спирали - Архимедова спираль, плоская трансцендентная кривая, уравнение которой в полярных координатах имеет вид: P=k*ф. где k — смещение точки M по лучу r при повороте на угол, равный одному радиану. Повороту прямой на 2п соответствует смещение a = |BM| = |MA| = 2*k*п; Число a — называется «шагом спирали». Уравнение Архимедовой спирали можно переписать так: P = (a/2п)*ф 3) Как часто марсоход может делать снимки, чтобы рационально использовать память? Пусть длина пути, пройденного марсоходом до исчерпания памяти, равна L. Тогда общее число возможных кадров: n=L/K. При условии, что каждый кадр занимает объём Vcur, суммарный объем данных составит: Vtotal = n*Vcur = (L/K)*Vcur Но поскольку память ограничена величиной V (Тб), получаем ограничение: (L/K)*Vcur <= V Отсюда: L <= (V*K)/Vcur, Lmax = (V*K)/Vcur Оптимальная частота съемки определяется исходя из соотношения количества накопленной информации к объему используемой памяти. Если интервал съемки слишком мал (K меньше оптимального значения), возникает избыточность данных и неэффективное использование памяти. Слишком большой интервал приведет к потере деталей ландшафта. Следовательно, оптимальным является такое значение интервала K, которое обеспечивает наилучший компромисс между детализацией местности и объемом используемых ресурсов памяти. Подведём итоговую формулу для оптимальной частоты съёмки: Kopt = SQRT(Vcur/V)*Lmax ------------------ "Veni, vidi, vici!"(с) Исправлено 4 раз(а). Последнее : sphinx, 03.11.25 20:11 |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
pasha_usue Автор Сообщений: 3766 Откуда: Е-бург Дата регистрации: 06.10.2006 |
У тебя фотографии прямоугольные. Поэтому, прямоугольная спираль будет выгоднее, чем классическая.
|
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
sphinx Сообщений: 32776 Откуда: Екатеринбург Дата регистрации: 22.11.2006 |
Я думал над этим, но до прямоугольной спирали не дошел.
![]() ------------------ "Veni, vidi, vici!"(с) |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
pasha_usue Автор Сообщений: 3766 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Не знаю, кстати, почему ты откидываешь прямую. В условии задачи нет ничего такого, что бы задало преимущество любой сложной конфигурации перед прямой. |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
PaulWist Сообщений: 14813 Дата регистрации: 01.04.2004 |
Саня, логично предположил, что поверхность значительно больше угла съёмки, если ширина поверхности = углу съёмки, то "спираль" вырождается в прямую. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено 1 раз(а). Последнее : PaulWist, 05.11.25 08:16 |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
sphinx Сообщений: 32776 Откуда: Екатеринбург Дата регистрации: 22.11.2006 |
Цитата: Обычно ставится задача не просто поснимать часть планеты, а исследовать конкретную область. А что мы получим за картину, если просто сняли часть прямой? ![]() ------------------ "Veni, vidi, vici!"(с) |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
pasha_usue Автор Сообщений: 3766 Откуда: Е-бург Дата регистрации: 06.10.2006 |
"Обычно" это домысливание условия. Можно домыслить, например так: "снизить энергозатраты марсохода". Тогда прямая получит ещё и преимущество перед другими траекториями. (;Ж Наверное, надо дополнить условие как-то. |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
sphinx Сообщений: 32776 Откуда: Екатеринбург Дата регистрации: 22.11.2006 |
Паша есть условие, просто я его тоже не сфокусировал. Именно площадь. Сказали надо блок0схнму, тра-та-та, с координатами. Тут твой план по прямоугольной спирали в огонь, допилил. А саму блок-схему надо. Все обсудили, даже непростые выкладки привел.
Самому? ![]() ------------------ "Veni, vidi, vici!"(с) |
| Re: Оптимальное исследование поверхности марсоходом | |
|---|---|
|
sphinx Сообщений: 32776 Откуда: Екатеринбург Дата регистрации: 22.11.2006 |
Давайте рассуждать. (Я буду участвовать(с))
На условном языке... V=1ТБ k= 50М Из точки (X0;Y0) {X1;Y1} = ВЫБОР_НАПРАВЛЕНИЯ // RAND() ДВИЖЕНИЕ_НАЧ( X1, Y1, К) // текущую точку не вычисляем, ее можно просто сохранить X = X1 Y = Y1 ПОКА НЕ Vcur <=V ДВИЖЕМСЯ(kA) А=90, так? Не, тут угол не так умножается, не могу сообразить, как шаг нарастить. При проходе К метров и повороте угла на 90. Пока не могу понять. Но туплю, видимо. ))) КОНЕЦ ЦИКЛА Так, тут увидел. НЕ vcur <= V (!) А сумма на каждой точке. Начинаешь рыть, рассуждать - понятнее. Ну. это кому интересно, нет прикладного применения. Vsum = 0 ... Vsum = Vsum+Vcur... На каждой точке. Так? Тогда уже так: Vsum <= V Так, и это пропишем. Но дальше пока застрял. И выпил немного. Надо к понедельнику закрыть вопрос. Буду рад, если, коллеги скажут, а чо тут алгортмизировать, просто. Нет сомнений, пока туплю ------------------ "Veni, vidi, vici!"(с) Исправлено 4 раз(а). Последнее : sphinx, 08.11.25 05:11 |
| © 2000-2025 Fox Club  |