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

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

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Математика

Математика Методы математического моделлирования, программирование математических концепций, роль математики в создании игр

Ответ
 
Опции темы
Старый 25.04.2010, 17:00   #1
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Сообщение Координаты

Помогите разобрать.
1) дан прямоугольник с координатами (х1,у1)...(х4,у4), его повернули на определённый угол альфа относительно центра. Как найти новые координаты прямоугольника?
2) Дана ситема счисления, в ней находится точка с координатами х и у. Систему счисления повернули на угол А. Как найти координаты точки относительно "нормальной" системы коордитан?
Миниатюры
Нажмите на изображение для увеличения
Название: прямоугольники.png
Просмотров: 914
Размер:	6.3 Кб
ID:	9932  Нажмите на изображение для увеличения
Название: система координат.png
Просмотров: 895
Размер:	2.8 Кб
ID:	9933  
__________________
И суслики вам не помогут

Последний раз редактировалось demon112, 25.04.2010 в 17:01. Причина: очепяточка вышла
(Offline)
 
Ответить с цитированием
Старый 25.04.2010, 17:27   #2
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: Координаты

Сгоняй на чердак, найди там учебник по геометрии. Срочно прочти про косинусы и синусы.
(Offline)
 
Ответить с цитированием
Старый 26.04.2010, 09:13   #3
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Ответ: Координаты

Хех, ну я знаю что это такое) Синус это отношение противолежащего катета к гипотенузе, а косинус прилежащего к гипотенузе) ну или что то в это роде) Дык и что дальше?
__________________
И суслики вам не помогут
(Offline)
 
Ответить с цитированием
Старый 26.04.2010, 11:36   #4
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: Координаты

http://forum.boolean.name/showthread.php?t=8938
Особое внимание обрати на: http://forum.boolean.name/showpost.p...95&postcount=7
(Offline)
 
Ответить с цитированием
Старый 27.04.2010, 07:51   #5
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Ответ: Координаты

чёт так я и не допетрил...
__________________
И суслики вам не помогут
(Offline)
 
Ответить с цитированием
Старый 27.04.2010, 08:50   #6
Alex.D.
Оператор ЭВМ
 
Регистрация: 02.11.2008
Сообщений: 27
Написано 12 полезных сообщений
(для 24 пользователей)
Ответ: Координаты

Сообщение от demon112 Посмотреть сообщение
чёт так я и не допетрил...
^___^
Смотри формулу поворота точки в аттаче

По сути тебе нужно взять центр прямоугольника (середина диагонали)
center_x = (x1 + x3) / 2
center_y = (y1 + y3) / 2
и по формуле повернуть все вершины
x'N = center_x + (xN - center_x) * cos(angle) - (yN - center_y) * sin(angle)
y'N = center_y + (xN - center_x) * sin(angle) + (yN - center_y) * cos(angle)
тут надо немного оптимизировать - синус и косинус общий на все точки, ну и диагонали (xN - center_x) и (yN - center_y) кешировать
Миниатюры
Нажмите на изображение для увеличения
Название: 2DRotation.png
Просмотров: 903
Размер:	2.1 Кб
ID:	9942  
(Offline)
 
Ответить с цитированием
Старый 27.04.2010, 09:16   #7
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Координаты

Чтобы не создавать новых тем. Я вот сейчас пытаюсь решить задачу нахождения координаты любого вертекса в модели с учетом ее вращения (EntityScale не использую). То есть надо учесть EntityPitch, EntityYaw и EntityRoll. Может кто знает решение задачи? Потому что я там уже формул нагородил... %)
(Offline)
 
Ответить с цитированием
Старый 27.04.2010, 09:59   #8
Alex.D.
Оператор ЭВМ
 
Регистрация: 02.11.2008
Сообщений: 27
Написано 12 полезных сообщений
(для 24 пользователей)
Ответ: Координаты

Сообщение от Amatsu Посмотреть сообщение
Чтобы не создавать новых тем. Я вот сейчас пытаюсь решить задачу нахождения координаты любого вертекса в модели с учетом ее вращения (EntityScale не использую). То есть надо учесть EntityPitch, EntityYaw и EntityRoll. Может кто знает решение задачи? Потому что я там уже формул нагородил... %)
В Блице это просто - TFormPoint(), трансформированые координаты соответственно TFromed[X\Y\Z]()
алгоритмически это делается умножением координат вертекса (фактически вектор от начала координат) на матрицу трансформации ентити. Это можно сделать также получив элементы матрицы с помощью GetMatElement()
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Amatsu (27.04.2010)
Старый 27.04.2010, 10:08   #9
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Координаты

Точно... а я про него и забыл... спасибо большое! а то я тут уже математики нагородил...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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