Форум программистов, компьютерный форум, киберфорум
Наши страницы
3D моделирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
Jack Stone
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 15
1

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

21.12.2015, 10:24. Просмотров 421. Ответов 4

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

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

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

P.S. чисто для справки, пишу на Swift, использую SceneKit.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2015, 10:24
Ответы с готовыми решениями:

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

Расположение объектов на форме в пространстве
Вот сегодня проблема на работе возникла. Пример: На форме находяться три BUTTONа один под одним. ...

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

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

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

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

Хм. Интересует вот теперь такая задумка, есть ли алгоритм... что то наподобие какого нибудь послойного построения. Например сверху вниз, по уровням строится сфера заданного радиуса. Тоесть сперва отрисовываю 1(или 5 скажем) объект(ов), как верхнюю точку, которые были бы равноудаленны друг от друга, что бы не соприкасаться, но быть тык в притык. Затем уменьшаем координаты по y на диаметр объекта, мы строим новый уровень... Во, по окружностями строить, которая сверху вних увеличивается, доходит до центра и уменьшается.
Тоесть в плане координат, при создании объекта у меня Y не изменяется, т.к. она задает высоту, уровень, а изменяются X и Z. Тогда встает все тот же вопрос о построении, но не сферы, а окружности. Как выставить сфеты в форме окружности и что бы они не соприкасались друг с другом(ну или совсем немного).
0
8Observer8
2490 / 1594 / 274
Регистрация: 05.10.2013
Сообщений: 4,957
Записей в блоге: 77
22.12.2015, 14:16 4
Я правильно понял, что должно так получиться? Картинку я здесь нашёл: Placing small spheres on the surface of a large sphere
0
Изображения
 
8Observer8
2490 / 1594 / 274
Регистрация: 05.10.2013
Сообщений: 4,957
Записей в блоге: 77
22.12.2015, 14:29 5
Цитата Сообщение от Jack Stone Посмотреть сообщение
Например сверху вниз, по уровням строится сфера заданного радиуса. Тоесть сперва отрисовываю 1(или 5 скажем) объект(ов), как верхнюю точку, которые были бы равноудаленны друг от друга, что бы не соприкасаться, но быть тык в притык.
А ну если по окружностям, то удобнее будет использовать сферические координаты с переводом в декартовые, как выше предложили.
0
22.12.2015, 14:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2015, 14:29

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

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

RelativeLayout расположение объектов
Вопрос: как с помощью relativeLayout программно задать отступ от краев родителя, то есть задать,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru