Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156

Как написать генератор 3D карты?

09.08.2015, 11:06. Показов 1297. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу придумать как написать генератор 3D кары. Карта представляет собой массив xyz. Каждая ячейка массива хранит в себе 1 элемент карты. На карте должны присутствовать горы не выше определенной высоты, реки, озера, пещеры.
Пока есть две идеи: 1)описать поверхность формулой и потом заполнить все точки снизу этой поверхности. Но вот как это сделать я не знаю. Не знаю как описать такую поверхность.
2) сначала массив заполняется элементами до какого то уровня, после чего в случайных точках создаются горы, которые описываются формулой полушара, тетраэдра/октаэдра и т. п. Реки описывающиеся случайно кривой, озера и пустые области (пещеры). Это более простой метод, но он не будет давать, в конечном итоге, сильно отличающихся красивых рандомных карт.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.08.2015, 11:06
Ответы с готовыми решениями:

Генератор xml-карты
Я особо не заморачивался с написанием карты сайта, а генерировал на одном сайте(сеолиб.ру), теперь сайт этот чего то не грузится, а мне...

Генератор карты игры NetWalk
Добрый день, форумчане, задача такая, требуется сгенерировать карту, как в игре netwalk, чтобы были заполненый все поля квадратной матрицы...

Написать подпрограммы, которые тусуют карты и возвращают false, если в колоде есть 3 карты одной масти подряд
Определить массив, который имитирует колоду карт. Написать процедуру и функцию, которая тусует карты и возвращает false, если в колоде есть...

3
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,974
Записей в блоге: 2
09.08.2015, 11:18
Берется фотошоп и мазюкается нечто Потом переводится в 3D карту высоты: белый цвет - вершина, черный - море. Здесь есть неск коварных моментов (если надо расскажу), но в целом такой метод гораздо практичнее. Попытки сделать "все на фракталах" быстро заводят в тупик, главным образом из-за невозможности управлять построением.
0
7 / 7 / 3
Регистрация: 17.04.2014
Сообщений: 156
09.08.2015, 11:25  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Берется фотошоп и мазюкается нечто Потом переводится в 3D карту высоты: белый цвет - вершина, черный - море. Здесь есть неск коварных моментов (если надо расскажу), но в целом такой метод гораздо практичнее. Попытки сделать "все на фракталах" быстро заводят в тупик, главным образом из-за невозможности управлять построением.
Кстати, да) Была такая идея: создать изображение с градиентными переходами, а потом отталкиваясь от цветов создать карту) Белая - высота, черная - низ) Почему то я забыл про эту идею)) Спасибо, что напомнили)
Мне нужна рандомная карта, которая создается по определенным параметрам типа высоты, размера и т.д., поэтому, думаю, фотошоп тут не поможет))
О каких коварных моментах вы говорите?))
0
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,974
Записей в блоге: 2
09.08.2015, 12:58
Цитата Сообщение от Lagilo Посмотреть сообщение
...поэтому, думаю, фотошоп тут не поможет
А Вы еще подумайте Ото париться с фракталами или как в аттаче - тыц, и вот Вам и горные хребты, и реки где хочу и все остальное

Цитата Сообщение от Lagilo Посмотреть сообщение
О каких коварных моментах вы говорите?))
1) "черный" и "белый" это всего лишь 256 значений, мало градаций по высоте. Нужно использовать специальный формат картинки (2 или больше байт на точку) напр exr.

2) Объем геометрии получается огромным, а мелкие детали все же теряются. Нужно строить 3D модель адаптивно, что не так уж просто

3) Расчет вертексных нормалей требует аккуратности

4) "Пещер" здесь не получить

5) Стоит ли начинать если таких генераторов (готовых и бесплатных) уже не 1 и даже не 10? Что нового Вы хотите сказать?
Миниатюры
Как написать генератор 3D карты?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.08.2015, 12:58
Помогаю со студенческими работами здесь

Случайный генератор карты из частей-Tilemap
У меня есть объекты с тайлмапами, а также в каждом объекте имеется два объекта начальная и конечная точки. Как соединить два и более...

Как написать генератор ПСЧ
Вот алгоритм создания ГПСЧ: Вход: генератором управляют два псевдослучайных входа. Один является 64-битным представлением текущих даты и...

Как написать генератор чисел?
import random from tkinter import * j='' z='' def gh(event): x=entry1.get() y=int(x) for i in range(y): ...

Как написать генератор символов
Здравствуйте, уважаемые программисты. Просто не понимаю как написать код для генератора символов. Предположим, что у нас есть массив...

Как написать генератор паролей
Подскажите пожалуйста.Как написать генератор паролей с выбором количества паролей?я уже написал генератор пароле но только с выбором длиной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru