Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 18.06.2011, 00:02   #1
voron
Нуждающийся
 
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений
(для 3 пользователей)
Глобальные координаты Vertex

1. Можно как-нибудь получить глобальные координаты вершины меша?
2. Можно как-нибудь переместить вершину в точку, указав глобальные координаты?
(Offline)
 
Ответить с цитированием
Старый 18.06.2011, 00:05   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Глобальные координаты Vertex

Можно, пересчитать локальные в глобальные через TFormVertex и аналогичные.
__________________
(Offline)
 
Ответить с цитированием
Старый 18.06.2011, 00:05   #3
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Глобальные координаты Vertex

Используй TFormVector
(Offline)
 
Ответить с цитированием
Старый 18.06.2011, 00:51   #4
voron
Нуждающийся
 
Регистрация: 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
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 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
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Глобальные координаты Vertex

Жека
неа - а если ентитю повернут или отскалят?
(Offline)
 
Ответить с цитированием
Старый 18.06.2011, 12:42   #8
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Глобальные координаты Vertex

А почему низзя назначить меш к паренту и двигать парентом, и локально коверкать меш. И потом в нужной позиции атачить к мешу другие.
Или цеплять к паренту ентити предварительно смещая ее мовемешем должным образом? Помоему легче сделать чтобы у мешей координаты совпадали чем сочинять имхо лишний код, который на глаз просечь без медитаций невозможно.
(Offline)
 
Ответить с цитированием
Старый 21.06.2011, 00:41   #9
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: Глобальные координаты Vertex

TFormPoint
только нужно не вершины пересчитывать, а те координаты, что с ними работают переводить в локальную систему меша.
(Offline)
 
Ответить с цитированием
Старый 22.06.2011, 01:18   #10
voron
Нуждающийся
 
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Глобальные координаты Vertex

Нужно перединуть точку 235 меша 1, в точку которая имеет координаты точки 23 меша 2, т.е. гуда, где находиться точка 23 меша 2. Как это сделать?
(Offline)
 
Ответить с цитированием
Старый 22.06.2011, 06:58   #11
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 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
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 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)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 02:57.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com