Математические и механические задачи в GTA
|
|
Den_spb | Дата: Среда, 27.04.2011, 15:18 | Сообщение # 31 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Да, надо выбирать наиболее подходящий способ для конкретной ситуации. Можно вообще написать код в hex..end и вызывать как функцию exe.
|
|
| |
Vital | Дата: Среда, 27.04.2011, 18:38 | Сообщение # 32 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Всем спасибо! Вот еще вопрос: можно ли без огромных вычислений (какие я видел на разных сайтах) точно определить координаты цели камеры (куда смотрит игрок)? На других сайтах это делается путем вычисления цели камеры (068E) и позиции камеры (068D) и дальше куча непонятных мне вычислений (я пока ведь в 9-ом классе, у нас подобного не бывало). Я пытаюсь сделать стрельбу ракетами для БТР. Получается так, что можно подбить себя... это не то, что с обычными машинами и самолетами. Тут есть башня, которая вертится во многих направлениях. Если с самолетом можно просто взять координаты перед самолетом, то здесь нужны точные координаты, куда смотрит игрок. Если есть такой способ, подскажите. А я пока попробую похимичить с handling.cfg и скриптом.
SCRIPTER
|
|
| |
DK22Pac | Дата: Среда, 27.04.2011, 19:35 | Сообщение # 33 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Надо узнавать углы башни.
|
|
| |
Vital | Дата: Среда, 27.04.2011, 20:28 | Сообщение # 34 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| DK22Pac, я только не знаю, как именно угол башни взять.. я не могу в адресах памяти найти.
SCRIPTER
|
|
| |
DK22Pac | Дата: Среда, 27.04.2011, 23:52 | Сообщение # 35 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Это надо у Дениса спрашивать.
|
|
| |
Den_spb | Дата: Четверг, 28.04.2011, 00:47 | Сообщение # 36 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (Vital) как именно угол башни взять.. я не могу в адресах памяти найти. Примерчик от Alien (вычисление позиции пушки танка): http://scriptsforgta.net.ru/forum/5-272-22120-16-1276606756 Тема "Работа с компонентами машины" на SB-форуме: http://sannybuilder.com/forums/viewtopic.php?id=304
|
|
| |
Vital | Дата: Четверг, 28.04.2011, 17:58 | Сообщение # 37 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| DK22Pac, Den_spb, спасибо за советы! Обязательно посмотрю! ахахах я этот же адрес нашел, пробовал, не выходило, а я не думал даже, что надо функцию вызывать думал, что за бред и бросил. Но теперь понял. Спасибо большое!
SCRIPTER
Сообщение отредактировал Vital - Четверг, 28.04.2011, 18:03 |
|
| |
DK22Pac | Дата: Вторник, 21.06.2011, 20:38 | Сообщение # 38 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Написал код для определения расстояния между точками... По-моему, оригинальный опкод использует тот же алгоритм. Code // sqrt((x2-x1)^2+(Y2-y1)^2+(z2-z1)^2) 0087: 14@ = 0@ 0087: 15@ = 1@ 0087: 16@ = 2@ 0063: 14@ -= 11@ 0063: 15@ -= 12@ 0063: 16@ -= 13@ 006B: 14@ *= 14@ 006B: 15@ *= 15@ 006B: 16@ *= 16@ 005B: 14@ += 15@ 005B: 14@ += 16@ 01FB: 14@ = square_root 14@ if 14@ < 0.0 then 0097: absf 14@ end Добавлено (21.06.2011, 20:38) --------------------------------------------- Как перевести кватернионы в градусы?
|
|
| |
Den_spb | Дата: Среда, 22.06.2011, 01:13 | Сообщение # 39 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) Как перевести кватернионы в градусы? http://www.rossprogrammproduct.com/transla....htm#Q54
|
|
| |
ILYALION | Дата: Вторник, 02.08.2011, 08:14 | Сообщение # 40 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| У меня есть 2 крайние точки окружности, относительно мировых координат -48.4401, -1589.4846, 3.0406 и -24.2635, -1527.6886, 1.852 Как вычислить центр этой окружности, отностиельно мировых координат и её радиус?
|
|
| |
DK22Pac | Дата: Вторник, 02.08.2011, 11:28 | Сообщение # 41 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Алгоритм: расстояниеX = X1 - X2, взять модуль расстояниеY = Y1 - Y2, взять модуль расстояниеZ = Z1 - Z2, взять модуль радиусX = расстояниеX/2 радиусY = расстояниеY/2 радиусZ = расстояниеZ/2 координатаX = X2 + радиусX координатаY = Y2 + радиусY координатаZ = Z2 + радиусZ
Сообщение отредактировал DK22Pac - Вторник, 02.08.2011, 15:50 |
|
| |
DK22Pac | Дата: Вторник, 02.08.2011, 15:51 | Сообщение # 42 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| ILYALION, я же написал... Quote (DK22Pac) радиусX = расстояниеX/2 радиусY = расстояниеY/2 радиусZ = расстояниеZ/2
Сообщение отредактировал DK22Pac - Вторник, 02.08.2011, 15:51 |
|
| |
ILYALION | Дата: Вторник, 02.08.2011, 15:59 | Сообщение # 43 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| То есть самый больший радиус это и есть радиус моей окружности?
|
|
| |
DK22Pac | Дата: Вторник, 02.08.2011, 16:58 | Сообщение # 44 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Нет. Сфера имеет радиус по трём осям.
|
|
| |
ILYALION | Дата: Вторник, 10.01.2012, 13:44 | Сообщение # 45 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Как определить координаты жёлтой точки на прикреплённом к сообщению рисунке, если известен угол поворота игрока и стороны прямоугольника? Мне нужны только координаты x и y.
Добавлено (10.01.2012, 13:44) --------------------------------------------- Благодаря знаниям геометрии до меня дошло: x координата равна (косинус угла (угол поворота игрока + 90 градусов))*20+x координата игрока y координата равна (синус угла (угол поворота игрока + 90 градусов))*70+ y координата игрока
Правильно?
Сообщение отредактировал ILYALION - Вторник, 10.01.2012, 16:12 |
|
| |