Форум программистов, компьютерный форум, киберфорум
3D моделирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 15

Расположение объектов в форме сферы (3D, алгоритм, SceneKit)

21.12.2015, 10:24. Показов 1308. Ответов 4

Студворк — интернет-сервис помощи студентам
Допустим у нас есть N объектов - сферических тел.
Нужно сделать генерацию этих объектов, что бы они образовали новую сферу.

Есть два предполагаемых варианта.
Первый это полая сфера. Тоесть брать радиус(в зависимости от кол. эл.) и располагать объекты на этом расстоянии, по какому то алгоритму.
Второй может не слишком удачный, но таки опять же брать радиус... и сделать условие вида
x0,y0,z0 - центр сферы
x1,y1,z1 - центр элемента? выбираю рандомно
r^2 < (x1-x0)^2 + (y1-y0)^2 + (z1-z0)^2
Типо если центр элемента находится в сфере, то я его спауню. Таким образом я получу наверное некое подобие сферы, элементы которого не будут выходить за определенный радиус.

Второй вариант я относительно понимаю как сделать, но это не совсем то, что мне нужно.
Собственно вопрос по первому. Не могу понять сего алгоритма, как располагать объекты, что бы в итоге эта вся арава приняла форму сферы.
Может кто знает алгоритм или сможет объяснить мне.

P.S. чисто для справки, пишу на Swift, использую SceneKit.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.12.2015, 10:24
Ответы с готовыми решениями:

Расположение объектов на форме
Помогите пожалуйста, как сверстать страницу так, что бы свич не уползал когда много текста в центре? ...

Расположение объектов на форме в пространстве
Вот сегодня проблема на работе возникла. Пример: На форме находяться три BUTTONа один под одним. ВОПРОС: КАК УЗНАТЬ ИХ РАСПОЛОЖЕНИЕ....

Определить взаимное расположение сферы и плоскости
Помогите, пожалуйста, разобраться где ошибка в программе? Определить взаимное расположение сферы и плоскости. program z1; var x,y,z,...

4
 Аватар для snake32
3511 / 1694 / 236
Регистрация: 26.02.2009
Сообщений: 8,471
Записей в блоге: 6
21.12.2015, 13:48
Jack Stone, думаю, нужно отталкиваться от сферических координат
То есть рандомно(или каким-то другим образом) сгенерить фи и кси. А потом перевести их в 3D. И это будет центром объекта на границе сферы.
Цитата Сообщение от Jack Stone Посмотреть сообщение
то я его спауню.
Это как?
0
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 15
21.12.2015, 14:01  [ТС]
Цитата Сообщение от snake32 Посмотреть сообщение
Это как?
Это я в смысле создаю, отрисовываю.

Хм. Интересует вот теперь такая задумка, есть ли алгоритм... что то наподобие какого нибудь послойного построения. Например сверху вниз, по уровням строится сфера заданного радиуса. Тоесть сперва отрисовываю 1(или 5 скажем) объект(ов), как верхнюю точку, которые были бы равноудаленны друг от друга, что бы не соприкасаться, но быть тык в притык. Затем уменьшаем координаты по y на диаметр объекта, мы строим новый уровень... Во, по окружностями строить, которая сверху вних увеличивается, доходит до центра и уменьшается.
Тоесть в плане координат, при создании объекта у меня Y не изменяется, т.к. она задает высоту, уровень, а изменяются X и Z. Тогда встает все тот же вопрос о построении, но не сферы, а окружности. Как выставить сфеты в форме окружности и что бы они не соприкасались друг с другом(ну или совсем немного).
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
22.12.2015, 14:16
Я правильно понял, что должно так получиться? Картинку я здесь нашёл: Placing small spheres on the surface of a large sphere
Изображения
 
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,970
Записей в блоге: 234
22.12.2015, 14:29
Цитата Сообщение от Jack Stone Посмотреть сообщение
Например сверху вниз, по уровням строится сфера заданного радиуса. Тоесть сперва отрисовываю 1(или 5 скажем) объект(ов), как верхнюю точку, которые были бы равноудаленны друг от друга, что бы не соприкасаться, но быть тык в притык.
А ну если по окружностям, то удобнее будет использовать сферические координаты с переводом в декартовые, как выше предложили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2015, 14:29
Помогаю со студенческими работами здесь

Определить взаимное расположение сферы и плоскости
Помогите Определить взаимное расположение сферы и плоскости Добавлено через 3 минуты Как организовать эти три решения системы в...

Вращение сферы по клику на форме
Нужно, чтобы сфера вращалась за перемещением курсора с нажатой левой кнопкой мыши. Рисует, но самая главная часть работы никак не удаётся ...

Алгоритм генерации сферы
Доброго здравия всем! Написал генерацию вершин сферы, алгоритм, конечно, не мой, честно подсмотренный на просторах интернета, но...

Расположение объектов
Здравствуйте. Вчера попрактиковался в css, все было нормально, методом проб и ошибок смог как-то сделать элементы друг за другом. ...

Разработать приложение, позволяющее изображать на форме имитацию сферы , куба
как эту программу сделать попроще без кода за 100 строчек ? Разработать приложение, позволяющее изображать на форме имитацию сферы...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru