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

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

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

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

Ответ
 
Опции темы
Старый 15.10.2005, 21:01   #1
jimon
 
Сообщений: n/a
вообщем есть точка e1 и точка e2
надо зделать поворот точки e2 отосительно e1 на углы x,y,z
и узнать конечные координаты точки e2

как ето зделать ?
с помощью блица я знаю как зделать
но надо чисто алгебраическое решение
 
Ответить с цитированием
Старый 15.10.2005, 21:19   #2
alcosholik
 
Сообщений: n/a
А ты приведи пример на Блице, из него можно будет вывести мат. формулу.
 
Ответить с цитированием
Старый 15.10.2005, 22:33   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Смущение

x=r*cos(fi)*cos(te)
y=r*sin(fi)*cos(te)
z=r*sin(te)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 15.10.2005, 22:45   #4
jimon
 
Сообщений: n/a
А ты приведи пример на Блице, из него можно будет вывести мат. формулу.
создаем два pivotа e1 и e2
задаем e1 и e2 позиции
e2 парентим к e1
поворачиваем e1
узнаем координаты e2 (глобальные)

раз такой умный - выведи отсюда формулы



2 impersonalis - ето вообщето только самое начало... буду выражать формулы )
спасибо...типа... если оно еще сработает
 
Ответить с цитированием
Старый 16.10.2005, 00:53   #5
alcosholik
 
Сообщений: n/a
Я немного продуплил сначала.

Не пробовал пример impersonalis'a, но придумал свою версию.

ax0 и ay0 - начальные координаты точки a
bx0 и by0 - начальные координаты точки b

b будет вращаться вокруг a

Для начала находим расстояние между этими точками (т.е. радиус вращения, который является величиной постоянной):
s=sqr((bx0-ax0)^2 + (by0-ay0)^2), где sqr - корень квадратный

А теперь для поворота вокруг оси x на угол angle:
by=s*cos(angle)
bz=s*sin(angle)

Аналогично делается с поворотом вокруг y и z.

Вот пример реализации на Blitz:
Graphics3D 800,600,16,2
SetBuffer BackBuffer()

cam=CreateCamera()
PositionEntity cam,10,0,0
RotateEntity cam,0,90,0

lit=CreateLight()

Global ax0#, ay0#, az0#
Global bx0#, by0#=3, bz0#

a=CreateSphere()
PositionEntity a,ax0,ay0,az0
b=CreateSphere()
PositionEntity b,bx0,by0,bz0

s#=Sqr((bx0-ax0)^2+(by0-ay0)^2)

While Not KeyHit(1)
angle#=angle+1

PositionEntity b,bx0,s*Cos(angle),s*Sin(angle)

RenderWorld()
Flip
Wend
End
 
Ответить с цитированием
Старый 16.10.2005, 02:15   #6
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Главное - чтобы работало; в принципе, можно всё на пивотах построить.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 16.10.2005, 13:29   #7
jimon
 
Сообщений: n/a
я тут просто подумал... три угла... три координаты... и каждая координата зависит ОТ КАЖДОГО УГЛА

дык ... даже из етого правила выходит что формула посложнее
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Радар(вопросик) Антихрист 2D-программирование 2 05.11.2007 16:05
Вопросик... axel186 2D-программирование 4 27.09.2006 20:00
Вопросик! SubZer0 Загадки 8 21.08.2006 00:45
опять вопросик :) jimon Болтовня 3 26.02.2006 16:17
Есть вопросик pax 2D-программирование 18 03.11.2005 21:55


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


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