Форум программистов, компьютерный форум CyberForum.ru

Найти угол, на основе координат мыши - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возвращение ссылки или указателя на закрытый элемент класса. http://www.cyberforum.ru/cpp-beginners/thread421524.html
Всех уважаемых форуман. поздравляю с наступившим новым годом и прошу ответить на такой вопрос. Почему до сих пор современный C++ не избавился от такой зияющей бреши, как воззвращение открытой членом-функцией ссылки или указателя на закрытый член данного класса?
C++ Массивы Всем доброго дня. Кто-нибудь может сделать краткий курс по массивам? язык С. http://www.cyberforum.ru/cpp-beginners/thread421521.html
Очередь и класс C++
Всем привет! Нужна консультация в таком вопросе. Есть класс: class myclass { char* author; char* title; public: myclass(){author=new char(sizeof(author));title=new char(sizeof(title));} ~myclass(){delete author;delete title;} };
Сведения о рейсах Аэрофлота C++
задание по базе данных Excel VBA, "Сведения о рейсах Аэрофлота".По заданной таблице необходимо изменить время вылета и время прибытия у заданного рейса.А как в коде сделать ссылку на этот заданный рейс?Он все дело стопорит.Помогите,пожааалуйста!)))
C++ Вывод информации при нажатии клавиши http://www.cyberforum.ru/cpp-beginners/thread421489.html
Разработка программы для вывода информации(о клавиши ) при нажатии клавиши на клавиатуре..))) вообщем что посоветуете??? сделать нужно на в консольном режиме..))
C++ Семафоры Помогите решить задачу. Есть пример, но делаю по аналогии не получается. #include <cstdlib> #include <iostream> #include <windows.h> #include <math.h> using namespace std; const char* GetErrorMessage() { подробнее

Показать сообщение отдельно
Razzeeyy
 Аватар для Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
02.01.2012, 17:13     Найти угол, на основе координат мыши
Здравствуйте, пробую себя в написании простенькой игрушки, пока-что ничего не получается =(
Возникла вот такая проблема: есть изображение являющее собой "пушку" у танка, нужно естественной этой пушке целится в направлении курсора, соответственно нужно вычислять угол на основе положения мыши (и задавать вращение спрайту) , вот картинка для более точного понимания:
Схематическое изображение http://ompldr.org/vYzByYw
Делаю это дело вот так (с использованием SFML, да суть не в этом)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    void PointAt(double x, double y)
    {
        //угол вычисляется на основе теоремы синусов
        sf::Vector2f Position = sf::Sprite::GetPosition();
        double a = VecLength(Position, sf::Vector2f(0,1)); //вектор a всегда направлен вверх
        double b = VecLength(Position, sf::Vector2f(x,y));
        double c = VecLength(sf::Vector2f(0,1), sf::Vector2f(x,y));
 
        //теперь ищем угол (angle_C) напротив c
 
        double R = (a*b*c) / std::sqrt( (a+b+c)*(-a+b+c)*(a-b+c)*(a+b+c) ); //радиус описанной окружности
        double angle_C = std::asin( c/(2*R) );
 
        //и наконец задаем новый угол вращения
        std::cout<<angle_C<<std::endl; //эта линия -- быдлодебаг ^^
 
        sf::Sprite::SetRotation(angle_C);
    }
код не работает как надо: выдает nan в большинстве случаев, числа только в левом верхнем углу и то неправильные (в районе 0.1 - 2.0).

Помогите разобраться, пожалуйста.
Или есть какая-то более простая методика получения угла на основе положения мыши?

Заранее Благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru