|
3D-программирование Вопросы, касающиеся программирования 3D мира |
18.06.2011, 00:02
|
#1
|
Нуждающийся
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений (для 3 пользователей)
|
Глобальные координаты Vertex
1. Можно как-нибудь получить глобальные координаты вершины меша?
2. Можно как-нибудь переместить вершину в точку, указав глобальные координаты?
|
(Offline)
|
|
18.06.2011, 00:05
|
#2
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Глобальные координаты Vertex
Можно, пересчитать локальные в глобальные через TFormVertex и аналогичные.
__________________
|
(Offline)
|
|
18.06.2011, 00:05
|
#3
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Глобальные координаты Vertex
Используй TFormVector
|
(Offline)
|
|
18.06.2011, 00:51
|
#4
|
Нуждающийся
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений (для 3 пользователей)
|
Re: Глобальные координаты Vertex
;Получаем глобальные координаты для Vertex
sphere=CreateSphere(16)
nomer=10
sphere_surface=GetSurface(sphere,1)
TFormVector VertexX(sphere_surface,nomer),VertexY(sphere_surface,nomer),VertexZ(sphere_surface,nomer),sphere,0
glob_x#=TFormedX()
glob_y#=TFormedY()
glob_z#=TFormedZ()
; Устанавливаем глобальные координаты для Vertex
cube=CreateCube()
cube_surface=GetSurface(cube,1)
nomer=11
TFormVector glob_x#,glob_y#,glob_z#,0,cube
VertexCoords cube_surface,nomer,TFormedX(),TFormedY(),TFormedZ()
По ходу я что-то неправильно понял.
|
(Offline)
|
|
18.06.2011, 03:16
|
#5
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Глобальные координаты Vertex
вроде всё правильно
|
(Offline)
|
|
18.06.2011, 10:53
|
#6
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Глобальные координаты Vertex
А может глобальные координаты вершин вот так получать:
vx# = VertexX(sphere_surface,nomer)+EntityX(sphere,True)
vy# = VertexY(sphere_surface,nomer)+EntityY(sphere,True)
vz# = VertexZ(sphere_surface,nomer)+EntityZ(sphere,True)
|
(Offline)
|
|
18.06.2011, 11:13
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Глобальные координаты Vertex
Жека
неа - а если ентитю повернут или отскалят?
|
(Offline)
|
|
18.06.2011, 12:42
|
#8
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: Глобальные координаты Vertex
А почему низзя назначить меш к паренту и двигать парентом, и локально коверкать меш. И потом в нужной позиции атачить к мешу другие.
Или цеплять к паренту ентити предварительно смещая ее мовемешем должным образом? Помоему легче сделать чтобы у мешей координаты совпадали чем сочинять имхо лишний код, который на глаз просечь без медитаций невозможно.
|
(Offline)
|
|
21.06.2011, 00:41
|
#9
|
Нуждающийся
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений (для 214 пользователей)
|
Ответ: Глобальные координаты Vertex
TFormPoint
только нужно не вершины пересчитывать, а те координаты, что с ними работают переводить в локальную систему меша.
|
(Offline)
|
|
22.06.2011, 01:18
|
#10
|
Нуждающийся
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений (для 3 пользователей)
|
Re: Глобальные координаты Vertex
Нужно перединуть точку 235 меша 1, в точку которая имеет координаты точки 23 меша 2, т.е. гуда, где находиться точка 23 меша 2. Как это сделать?
|
(Offline)
|
|
22.06.2011, 06:58
|
#11
|
Нуждающийся
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений (для 214 пользователей)
|
Ответ: Глобальные координаты Vertex
TFormPoint V23x#, V23y#, V23z#, entity2, entity1
VertexCoords surface,235,TFormedX(),TFormedY(),TFormedZ()
Алгоритм понятен?
|
(Offline)
|
|
22.06.2011, 10:37
|
#12
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: Глобальные координаты Vertex
Алгоритм таков:
1.нахожу координаты точки цели
2.тформлю их в мировые
3.тформлю полученные мировые в координаты меша снаряда
4.ставлю вертекс снаряда в точку полученную в п.3
Можно сделать сразу из меша 1 в меш 2 как у Andreyman, но так наглядней.
Function vertexpositioner(srcmesh,index1,destmesh,index2)
srcsurf=GetSurface(srcmesh,1)
destsurf=GetSurface(destmesh,1)
x0#=VertexX(srcsurf,index1)
y0#=VertexY(srcsurf,index1)
z0#=VertexZ(srcsurf,index1)
TFormPoint x0,y0,z0,srcmesh,0
x01#=TFormedX()
y01#=TFormedY()
z01#=TFormedZ()
TFormPoint x01,y01,z01,0,destmesh
x1#=TFormedX()
y1#=TFormedY()
z1#=TFormedZ()
VertexCoords destsurf,index2,x1,y1,z1
End Function
Команды я не знал и не понимал, спасибо тебе, ворон
Последний раз редактировалось dsd, 10.08.2011 в 03:06.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:25.
|