Автор Сообщение
moderator
Пост N: 3579
Рейтинг:
11
Отправлено: 02.03.12 21:49. Заголовок: Можно ли высчиталь радианы с помощью координат?
Я думаю, не мне одному известно, что поворотливость объекта (например, декорации) измеряется в радианах. Мне нужно чтобы если дать функции определенные координаты и, наверное, координаты, например, фонаря, вычислись радианы, которые повернут фонарь на первые координаты. В самом коде ТЗОДА такое должно быть, но копаться в коде и потом преобразовывать в Луа... Для тех, кто не понял, мне нужно, чтобы фонарь поварачивался к определенным координатам.
Профиль
Цитата
Ответить
Ответов - 8
[только новые ]
постоянный участник
Пост N: 2251
Рейтинг:
4
Отправлено: 02.03.12 22:54. Заголовок: Уууу... Нужно подума..
Уууу... Нужно подумать.
Профиль
Цитата
Ответить
постоянный участник
Пост N: 2252
Рейтинг:
4
Отправлено: 02.03.12 22:54. Заголовок: Можно по синусу высч..
Можно по синусу высчитать угол и перевести его в радианы
Профиль
Цитата
Ответить
постоянный участник
Пост N: 2253
Рейтинг:
4
Отправлено: 02.03.12 22:55. Заголовок: Или косинусу :sm54: ..
Или косинусу
Профиль
Цитата
Ответить
format C:
Пост N: 985
Рейтинг:
6
Отправлено: 08.03.12 20:59. Заголовок: Вирус все правильно ..
Вирус все правильно подметил
Профиль
Цитата
Ответить
постоянный участник
Пост N: 2261
Рейтинг:
4
Отправлено: 08.03.12 22:42. Заголовок: Нужно использовать ф..
Нужно использовать функции арсинуса или аркосинуса, но я смотрел в коде, где они объявлены для луа. Ничего похожего не нашел. Но они должны быть.
Профиль
Цитата
Ответить
постоянный участник
Пост N: 2262
Рейтинг:
4
Отправлено: 09.03.12 10:52. Заголовок: Кстати, Пи радиан = ..
Кстати, Пи радиан = 180 градусов
Вот как их считать
Профиль
Цитата
Ответить
постоянный участник
Пост N: 2268
Рейтинг:
5
Отправлено: 23.06.12 10:06. Заголовок: В очередной раз поня..
В очередной раз понял что идиот и все получилось.
--Разворачивает объект по напралению к другому. VIRUS function func.GetRadian(rorateObjectName, movingObjectName) x1, y1 = position(rorateObjectName) x2, y2 = position(movingObjectName) xCathetus = math.abs (x1 - x2) yCathetus = math.abs (y1 - y2) hypotenuse = math.sqrt ((xCathetus * xCathetus) + (yCathetus * yCathetus)) alpha = math.acos (math.max(xCathetus, yCathetus) / hypotenuse) if x2 > x1 and y2 > y1 then if xCathetus > yCathetus then object(rorateObjectName).dir = alpha else object(rorateObjectName).dir = (math.pi /2) - alpha end elseif x2 < x1 and y2 > y1 then if yCathetus > xCathetus then object(rorateObjectName).dir = alpha + (math.pi /2) else object(rorateObjectName).dir = math.pi - alpha end elseif x2 < x1 and y2 < y1 then if xCathetus > yCathetus then object(rorateObjectName).dir = alpha + math.pi else object(rorateObjectName).dir = (math.pi + (math.pi /2)) - alpha end elseif x2 > x1 and y2 < y1 then if yCathetus > xCathetus then object(rorateObjectName).dir = alpha + math.pi + (math.pi /2) else object(rorateObjectName).dir = (math.pi *2) - alpha end end end З.Ы. Нефиг было делать, код раскрасил
Профиль
Цитата
Ответить
moderator
Пост N: 3590
Рейтинг:
11
Отправлено: 24.06.12 11:41. Заголовок: З.Ы. Нефиг было дела..
цитата: З.Ы. Нефиг было делать, код раскрасил
Всё как в NotePad++ =)
цитата: В очередной раз понял что идиот и все получилось.
LoL
А вообще, молодец. Хорошо поработал.
Профиль
Цитата
Ответить
Ответ:
1
2
3
4
5
6
7
8
9
показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:
зарегистрироваться