Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.07.2007, 15:59
Zuben вне форума Посмотреть профиль Отправить личное сообщение для Zuben Найти все сообщения от Zuben
  № 1  
Ответить с цитированием
Zuben
[+5 31.05.07]
[+1 09.10.07]
 
Аватар для Zuben

Регистрация: May 2007
Сообщений: 90
По умолчанию Урок Геометрии :)

Народ, подскажите, по какой формуле вычисляется угол между двумя точками с известными координатами. Я всю ночь сегодня голову ломал, графики чертил, выявлял закономерности, но так ничего и не понял.
Без этого, чувствую, 3Д движок создать не удасться.

В школе учился давно и с читами.

Старый 17.07.2007, 16:07
dedsky вне форума Посмотреть профиль Отправить личное сообщение для dedsky Найти все сообщения от dedsky
  № 2  
Ответить с цитированием
dedsky
[+6 16.03.11]
 
Аватар для dedsky

Регистрация: Jul 2004
Адрес: от Москвы до самых до окраин
Сообщений: 172
для получения этого угла во флеше даже математику знать не надо. Есть такие функции Math.atan и Math.atan2

Старый 17.07.2007, 16:20
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 3  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
угол между двумя точками?.. это, конечно, очень круто. я себе этого даже представить не могу, не то чтобы вычислить.
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Старый 17.07.2007, 16:27
Zuben вне форума Посмотреть профиль Отправить личное сообщение для Zuben Найти все сообщения от Zuben
  № 4  
Ответить с цитированием
Zuben
[+5 31.05.07]
[+1 09.10.07]
 
Аватар для Zuben

Регистрация: May 2007
Сообщений: 90
atan2 выдает какие-то странные числа. Что он берет за начало координат?

Код:
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function()
{
    trace(Math.atan2(_xmouse, _ymouse));
}
Mouse.addListener(mouseListener);
Выдает значения от 0 до 1.6.

Старый 17.07.2007, 16:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну для начала в atan2 первым аргументом идет y, а потом x. Значение выдается в радианах.

Старый 17.07.2007, 17:01
Zuben вне форума Посмотреть профиль Отправить личное сообщение для Zuben Найти все сообщения от Zuben
  № 6  
Ответить с цитированием
Zuben
[+5 31.05.07]
[+1 09.10.07]
 
Аватар для Zuben

Регистрация: May 2007
Сообщений: 90
А как переводить радианы в градусы?

Старый 17.07.2007, 17:21
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 7  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
grad = rad/Math.PI * 180;
но я думаю что даже с этими знаниями тебе не удастся сделать 3д двиг...
__________________
33 коровы

Старый 18.07.2007, 15:15
Zuben вне форума Посмотреть профиль Отправить личное сообщение для Zuben Найти все сообщения от Zuben
  № 8  
Ответить с цитированием
Zuben
[+5 31.05.07]
[+1 09.10.07]
 
Аватар для Zuben

Регистрация: May 2007
Сообщений: 90
Ну почему же? Движок почти собрал. Осталось только узнать, как вычислить координаты точки с известным углом и расстоянием от начала координат.
Может и здесь кто поможет?

На вложенном чертеже зеленым цветом выделены известные значения, а красным - то, что нужно найти.
Изображения
 

Старый 18.07.2007, 15:54
goarcade вне форума Посмотреть профиль Отправить личное сообщение для goarcade Найти все сообщения от goarcade
  № 9  
Ответить с цитированием
goarcade

Регистрация: Sep 2006
Сообщений: 32
x = Math.cos(alpha)*S;
y = Math.sin (alpha)*S;
//S - растояние от начала координат;
//alpha - угол в радианах.

Старый 19.07.2007, 08:59
vitlance вне форума Посмотреть профиль Отправить личное сообщение для vitlance Найти все сообщения от vitlance
  № 10  
Ответить с цитированием
vitlance
 
Аватар для vitlance

Регистрация: Sep 2005
Адрес: Moldova - Chishinau City
Сообщений: 413
Отправить сообщение для vitlance с помощью ICQ
координаты первой точки x_cord1; y_cord1
координаты второй точки x_cord2; y_cord2

А вот код подсчёта "угла" между ними:

Код:
delta_x = x_cord1 - x_cord2;
delta_y = y_cord1 - y_cord2;
angle = -Math.atan2(delta_x, delta_y)/(Math.PI/180);
trace(angle);

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.