из плоскости в полусферу

Общие вопросы о Unity3D

из плоскости в полусферу

Сообщение Cyrix 27 авг 2022, 13:43

Всем привет!
Помогите разобраться. Как из плоскости сделать полусферу? Например есть Plane 2х2 клетки размером 100х100. Как этот план выгнуть полусферой, зная радиус? Радиус = 50.

В 3D Max-е есть модификатор spherify который из куба делает сферу, вот мне нужно понять, по какой формуле из прямоугольных координат X,Y преобразовать в сферические координаты? Я пишу скрипт на 3D Max-е, но в упор понять не могу, что там за формула?

Вот например координаты вершин ровного Plane:

1) X: -50.0 Y: -50.0 Z: 50.0
2) X: 0.0 Y: -50.0 Z: 50.0
3) X: 50.0 Y: -50.0 Z: 50.0

4) X: -50.0 Y: 0.0 Z: 50.0
5) X: 0.0 Y: 0.0 Z: 50.0
6) X: 50.0 Y: 0.0 Z: 50.0

7) X: -50.0 Y: 50.0 Z: 50.0
8) X: 0.0 Y: 50.0 Z: 50.0
9) X: 50.0 Y: 50.0 Z: 50.0

7------8------9
|......|......|
|......|......|
4------5------6
|......|......|
|......|......|
1____2____3

так как это плоскость, то Z всегда равен 50

Но вот как поменять координаты, чтобы плоскость изогнулась по сфере с учётом заданного радиуса 50?
Это одна сторона куба, то есть 1/6 куба

Координаты должны стать такими:

1) X: -28.868 Y: -28.868 Z: 28.868
2) X: 0.0 Y: -35.355 Z: 35.355
3) X: 28.868 Y: -28.868 Z: 28.868

4) X: -35.355 Y: 0.0 Z: 35.355
5) X: 0.0 Y: 0.0 Z: 50.0
6) X: 35.355 Y: 0.0 Z: 35.355

7) X: -28.868 Y: 28.868 Z: 28.868
8) X: 0.0 Y: 35.355 Z: 35.355
9) X: 28.868 Y: 28.868 Z: 28.868

вот как? по какой формуле?
Cyrix
UNIт
 
Сообщения: 116
Зарегистрирован: 16 сен 2009, 11:32

Re: из плоскости в полусферу

Сообщение waruiyume 27 авг 2022, 20:31

Изображениефотохостинг радикал
Это геометринод из Блендера, букфами писать лень.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: из плоскости в полусферу

Сообщение Cyrix 27 авг 2022, 21:01

Что ж... тогда напишу я, буквами

maxscript:

obj = $Plane01
convertToMesh obj

for v = 1 to getNumVerts obj do
(
vert = getVert obj v

x = vert.x
y = vert.y
z = vert.z

vec = 1/sqrt(x^2+y^2+z^2)
xn = x * vec
yn = y * vec
zn = z * vec

vert.x = xn * 50
vert.y = yn * 50
vert.z = zn * 50

setVert obj v vert
)
update obj
Cyrix
UNIт
 
Сообщения: 116
Зарегистрирован: 16 сен 2009, 11:32

Re: из плоскости в полусферу

Сообщение waruiyume 27 авг 2022, 21:13

Только это выдаст круг, а не полусферу.
upd
Я понял, вы не из плоскости полусферу делаете, а из куба сферу.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: из плоскости в полусферу

Сообщение Cyrix 27 авг 2022, 21:36

Да, всё верно, Вы правы, из куба в сферу
Cyrix
UNIт
 
Сообщения: 116
Зарегистрирован: 16 сен 2009, 11:32

Re: из плоскости в полусферу

Сообщение Sabotajer 23 сен 2022, 12:55

Что ж... тогда напишу я, буквами
maxscript:
obj = $Plane01
convertToMesh obj
for v = 1 to getNumVerts obj do
Думаю многим будет полезно. А я вот сейчас решил на отдых поехать, думаю покодить на пляже Одессы, что думаете? Ещё нужна хорошая служба такси там для удобства , говорят 838 https://taxi838.ua/ru/odessa/ отличный вариант, что думаете?

о , спасибо, пригодится!
Sabotajer
UNец
 
Сообщения: 4
Зарегистрирован: 06 июл 2020, 19:19


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10