|
|
|
Канал Игры Мечты: «Занудство: Генерация координат объектов в 3D» |
|
|
Xenon J 964 EGP
Репутация: 161 Сообщения: 3376 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007 |
|
Non : |
Математически я согласен опять же. Но я хочу причесывать поле астероидов осознавая, что я делаю. Я не вижу результат математической формулы, пока не выполню её. Так же и с математической чистилкой с радиусом, но идея интересная, спасибо, доберусь до компа - попробую.
|
Всё равно не пойму, нахрена эта извращённая математика? Есть скрипткоманда кфтвщь мфдгу (в смысле random value ) ,берёшь её как величину для координат и создаёшь астероиды как тебе надо. Точку-центр скопления и радиус добавить несложно. хочешь обрезать по краям - задай точные пределы координат. Например, координата Z не больше 20, и астероидное поле будет обрезано по этой плоскости. Зачем вообще создавать что-то лишнее, если можно сделать всё и сразу?
ЗЫЖ можешь глянуть мой генератор случайных карт, может что-нибудь тебе поможет.
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
SecondShadow 365 EGP
Репутация: -4 Сообщения: 1454 Заблокирован Откуда: Бийск. Алтай. Зарегистрирован: 09.02.2008 |
|
Даже глядеть не хочу, обязательно что-нибудь в Землю шарахнет, если посмотрю, нафиг надо.
_________________ Склероз - классная болезнь, ничего не болит и новости каждый день. |
|
|
Grebomet 1460 EGP
Рейтинг канала: 2(20) Репутация: 261 Сообщения: 4783 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Xenon J : |
берёшь её как величину для координат и создаёшь астероиды как тебе надо. Точку-центр скопления и радиус добавить несложно. хочешь обрезать по краям - задай точные пределы координат.
|
Пересекаться же ж будут друг с другом.
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
Xenon J 964 EGP
Репутация: 161 Сообщения: 3376 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007 |
|
Grebomet : |
Пересекаться же ж будут друг с другом.
|
Что с чем? Задать размер объектов и мин. дистанцию между ними элементарно.
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
Non 802 EGP
Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Xenon J : |
Всё равно не пойму, нахрена эта извращённая математика?
|
Ыыыыч
Загляните вот сюдой, посмотрите на карты Хомы и вы поймете почему я хочу такие фичи типа кисти (как Dissolve в граф редакторах). Или хотя бы просто кусторез (удаление координат группами вокруг точки.
Рофл. Я придумал как сделать.
Берется Galaxy Editor, корабль игрока двигается по карте быстро с помощью numpad'ов, и скрипт создает вокруг него астероиды.
XArgon подкинул идейку, хе.
Даже лучше. Можно летать на корабле и записывать его текущие координаты снапшотами в массив. Потом использовать массив как график.
Гыыыы.
Последний раз редактировалось: Non (19:21 21-02-2015), всего редактировалось 2 раз(а) |
|
|
Grebomet 1460 EGP
Рейтинг канала: 2(20) Репутация: 261 Сообщения: 4783 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Камушки с друг с другом.
Xenon J : |
Задать размер объектов и мин. дистанцию между ними элементарно.
|
А что, если координаты выпадут почти в одной точке, астероиды сами расползутся?
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
Non 802 EGP
Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Grebomet : |
А что, если координаты выпадут почти в одной точке, астероиды сами расползутся?
|
Ну ищешь ближайший астероид - ставишь условие, если расстояние меньше положенного - генерируешь координату еще раз. Делов то.
Вот как сгладить график на скриптах.. Тоесть не линейный, а косинусно или кубически интерполированный. Тогда ваще будет огонь.
Хотя зачем его сглаживать, если просто можно чаще снимать координату с корабля. Но интерполировать интереснее, если скажем летишь на нем в одну точку, потом линейно в другую. Прикольная штука эта математика, кто бы мне про такое рассказал, когда я школяром был. Я б ее учил тогда.
Последний раз редактировалось: Non (19:24 21-02-2015), всего редактировалось 2 раз(а) |
|
|
Minx 985 EGP
Рейтинг канала: 6(329) Репутация: 135 Сообщения: 10533 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Ну, делов как миниумум на O(n^2). И как максимум бесконечность, если объем и кол-во*единичный_объем сравнимы.
Non : |
Прикольная штука эта математика, кто бы мне про такое рассказал, когда я школяром был. Я б ее учил тогда.
|
Ты бы рассказал ему какой-нибудь такой анекдот:
Цитата: |
Встречаются как-то профессор математики и бывший студент медицинского университета через несколько лет после выпуска.
Профессор:
- Ну как, пригодилась вам математика в жизни?
Бывший студент:
- Да, когда у меня однажды засорился унитаз, то, изогнув проволоку ИНТЕГРАЛОМ, я с легкостью прочистил его!..
|
И пошел бы заниматься очередным тру-КСО.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Non 802 EGP
Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Non : |
Ты бы рассказал ему какой-нибудь такой анекдот:
|
Не, когда я был школяром, мне нравилось летать, торговать, а еще больше сектора ваять со всякими там астероидными полями.
Любое практическое применение математики для легкого создания чего либо вызвало бы у меня интерес.
Хотя мб ты и прав..
|
|
|
Shirson 1605 EGP
Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002 |
|
Non : |
Grebomet : |
А что, если координаты выпадут почти в одной точке, астероиды сами расползутся?
|
Ну ищешь ближайший астероид - ставишь условие, если расстояние меньше положенного - генерируешь координату еще раз. Делов то.
|
Дао истинной генерации не познал ты еще
1. Всё пространство делится на ячейки (10, 100, 1000м или чегоужонотам).
2. В ячейках генерятся или не генерятся астероиды - в зависимости от значения, выданного функуцией шума Перлина (функцией от координат). Именно базовой, никаких октав и сглаживаний тут ненужно.
3. Сгенерённые астероиды смещаются на (псевдо)рандомные вектора в пространстве (но в пределах ячейки).
...
9. Профит!
Никаких пересечений.
При правильно подобраных размерах ячейки и смещения - никакой "искусственности"
При постижении этой ступени дао, можно усложнить формулу и генерить астероиды на несколько ячеек ("сливанием" вместе соседних)
_________________ У меня бисера не доxеpа. |
|
|
Non 802 EGP
Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Shirson : |
Дао истинной генерации не познал ты еще Улыбка
|
Понятное дело, что не познал.
Думаю, что заполнять поле можно по центрам этих самых ячеек, о которых ты говоришь.
Мол начинать с верхнего дальнего угла и сдвигать основную координату на фиксированное значение (три цикла в цикле по трем осям). Тоесть использовать это как точку отсчета. Далее рисовать или не рисовать астероид в ячейке. Далее смещать его так, чтобы край его не выходил за ячейку (тоесть - узнать радиус объекта и вычесть этот радиус из радиуса ячейки, если превратить ее в шар - чтобы потом использовать полученное значение в качестве доступной вариативности координат).
Тут интересный нюанс, хватит ли для шума Перлина стандартной простой математики X2, и как на базе простой математики сделать сложную, если это вообще возможно.
Спасибо за совет.
Другое дело, что хочется различных астероидных закрученных фигурных ленточек. Их довольно просто можно создавать вокруг какой-то функции. Т.е. по 3-4 астероида на итерацию с использованием минимально допустимой дистанции (координату функции). Получалось довольно забавно, я проверял.
Наверное мне сначала нужно познать, как выглядит каждая функция и потом из них лепить.
Последний раз редактировалось: Non (19:54 21-02-2015), всего редактировалось 3 раз(а) |
|
|
Shirson 1605 EGP
Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002 |
|
Для этой цели подойдёт любая функция, дающая более-менее "шумный" результат от координат. Просто Перлин даёт заведомо шикарный результат
А если ты не пытаешься генерить это на лету (для условно-бесконечного пространства), то вполне подойдёт любой генератор псевдослучайных чисел.
_________________ У меня бисера не доxеpа. |
|
|
Non 802 EGP
Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Shirson : |
Просто Перлин даёт заведомо шикарный результат
|
Я вот думаю, как мне вокруг функции кривой построить ячейки и использовать Перлина.
Нравятся астероидные закрученные ленточки из Homeworld.
Кстати в случае с шумом Перлина, когда он не абсолютный (0 или 1 - рисовать или нет), можно попробовать использовать просто меньшие астероиды (крупность астероида в зависимости от участка функции), это должно выглядеть неплохо.
Последний раз редактировалось: Non (19:57 21-02-2015), всего редактировалось 1 раз |
|
|
Minx 985 EGP
Рейтинг канала: 6(329) Репутация: 135 Сообщения: 10533 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Shirson : |
Всё пространство делится на ячейки (10, 100, 1000м или чегоужонотам).
|
Ведет к кластеризации. Теряется тру-распределение.
Если геймплей допускает, то да. Но не всегда. Даже далеко не всегда.
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (20:17 21-02-2015), всего редактировалось 1 раз |
|
|
profit 467 EGP
Репутация: 50 Сообщения: 288 Откуда: отсюда Зарегистрирован: 25.12.2014 |
|
А?
_________________ Wanna play? |
|
|
Minx 985 EGP
Рейтинг канала: 6(329) Репутация: 135 Сообщения: 10533 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Ещё я наверно не совсем понял при чем тут вообще Перлин и все остальное. У Non так понимаю проблема в создании удобного инструмента для выражения своих мыслей и далее, уменьшения времени и ресурсов между шагом задумки и шагом увидеть результат.
Человек спрашивает одно, а ему в ответ все подряд и без разбору.
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Shirson 1605 EGP
Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002 |
|
profit : |
А?
|
Погода, говорю, хорошая
_________________ У меня бисера не доxеpа. |
|
|
Minx 985 EGP
Рейтинг канала: 6(329) Репутация: 135 Сообщения: 10533 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Non : |
Грубо говоря хочется что-то типа визуального программирования (задать минимальную дистанцию между объектами и т.п.) с возможностью графического редактора.
|
В качестве примера то, что сделал Джош в 19-м апдейте LT: https://www.youtube.com/watch?v=UGP7S2Oq0M8
(начинает об этом где-то с 3:20)
Т.е. когда текстовый редактор (vim) связан с уже готовой средой и позволяет очень быстро перепрыгивать между представлением рандома в виде формул и их визуализацией. Может что-нибудь найдешь себе в этом ролике.
_________________ μηδείς αγεωμέτρητος εισίτω
Последний раз редактировалось: Minx (21:02 21-02-2015), всего редактировалось 1 раз |
|
|
Minx 985 EGP
Рейтинг канала: 6(329) Репутация: 135 Сообщения: 10533 Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005 |
|
Ещё как вариант.
Берем какой-нибудь распространенный и удобный 3D-редактор. Что-нить типа 3DMax или автокада. Рисуем там чего хотим из простейших отрезков-фигур-.. Потом экспортируем в текстовый файл (если склероз не изменяет, и в 3DMax ничего принципиально за последние 10 лет не поменялось, то он умел скидывать в простом текстовом формате). Пишем простой парсер, который подхватывает это и записывает в твою уже программу в её 3D-представлениях. Далее какая-то пост-обработка (астероиды вокруг отрезков, заполнить объемные фигуры такой-то плотностью и т.п.). И вот теперь можно звать profit'a (;
_________________ μηδείς αγεωμέτρητος εισίτω |
|
|
Non 802 EGP
Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Была такая мысль.
Тем более что достаточно просто интересно закрученную линию сделать, а потом вокруг нее уже плясать на каждой итерации.
Спасибо.
|
|
|
|
|
|
Канал Игры Мечты: «Занудство: Генерация координат объектов в 3D» |
|