![]() |
Как правильно расчитать угол по координатам?
Здравствуйте.
Я пытаюсь сделать так: добавляю определённое количество объектов на сцену, определяю их угол, относительно определённой точки, определяю расстояние от определённого объекта до центра, после всего этого я присваиваю новые координаты каждому определённому объекту по такой системе: "определённыйОбъект.x = центр.x + Math.cos(угол) * расстояниеОтОбъектаДоТочки, определённыйОбъект.y = центр.y + Math.sin(угол) * расстояниеОтОбъектаДоТочки". В итоге некоторые объекты куда-то уезжают, а другие остаются... А цель вообще такая: добавить объекты через косинусы\синусы, определяя по изначальным координатам их угол, туда, где они изначально были. Что я делаю неправильно? |
А что Вы в итоге хотите? я просто не понял цель:( Вам нужно просто точку под углом или повернуть объект на угол относительно центра к другой точки?
|
Пока я хочу, просто добавить объект туда же, где он был изначально, но только с помощью косинусов\синусов. После этого я попытаюсь изменять угол, чтобы создать эффект вращения объекта вокруг центра.
|
Вопрос о вращении во круг центра - на три темы ниже. А какие значения есть для возврата?
|
Так я могу сделать так, чтобы они вращались (у меня вокруг определенных объектов вращаются звезды).
Есть радиус, угол. Хотя, если честно, я не понимаю, что обозначает "возврат". |
Цитата:
А какие для этого есть значения. |
Код AS3:
Цитата:
Добавлено через 1 минуту Если работает прокомментированный код, то звездочёты куда-то улетают. Добавлено через 9 минут Цитата:
|
Цитата:
Код AS3:
Код AS3:
|
Цитата:
|
Туда, где он был изначально, но только с помощью косинуса\синуса\угла\радиуса.
|
Если это так, то скажите, как Вы его туда и по каким критериям перемещаете. Возможно что и угол не нужен.
Добавлено через 42 секунды я немного глуповат и мне немного тяжело понять по коду весь замысел, но если я Вас ещё немного порасспрашиваю, то возможно и смогу помочь:) Вы находите центр сцены, затем координаты звездочета. Затем Вы находите радиус и угол.. Но куда Вы звездочёта вернуть хотите? Добавлено через 12 минут Код AS3:
Код AS3:
Добавлено через 3 минуты Или он был перемещён по окружности на расстояния радиуса и Вы хотите обратить угол в спять и вернуть его обратно, при этом радиус в начальной точке и в той в которой он сейчас, неизменен? |
Нет, я 200 поставил, чтобы убедиться в работоспособности моего кода.
Координаты x,y задаются случайные. Но мне интересно именно такое решение, которое я написал выше. |
Если в начале звездочёт был удалён на радиус 200, а потом его рандомно куда-то поставили и Вы не знаете не первоначального угла и радиуса, Вы не сможете его вернуть назад.
Добавлено через 55 секунд Нужно же знать хоть что-то. |
Я делаю так:
Создаю звездочёта, присваиваю ему случайные координаты. Изначально я не знаю на какой радиус он отдалён от центра, но я посчитал так, что если я буду проверять расстояние от центра до звездочёта, то буду иметь радиус, потом определив угол, я просто-напросто поставлю его туда же. |
Нет, так нельзя. Полярные координаты служат для того, чтобы перемещать объект по окружности, либо в её пределах. То есть, зная начальные координаты и конечные, можно узнать угол или что-то подобное. Но вот как Вы хотите, это невозможно.
|
Код AS3:
Добавлено через 45 секунд Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Код AS3:
Цитата:
можно даже ее сделать статичной. |
| Часовой пояс GMT +4, время: 09:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.