Среда, 18 Декабря 2024, 10:54

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Рисование сектора круга?
Gargolev43Дата: Четверг, 17 Октября 2013, 13:50 | Сообщение # 1
частый гость
Сейчас нет на сайте
Есть два вектора, для удобства пусть начало каждого вектора - точка (0, 0), длины одинаковые. Каждый вектор может образовывать с осью Ox абсолютно любой угол.
Нужно нарисовать сектор от вектора 1 до вектора 2 (не наоборот).

Есть формулы, например:
signed_angle = atan2(b.y,b.x) - atan2(a.y,a.x)

но без понятия как применить и эти формулы "плавают" когда нужно например найти угол между векторами (-1, 0) и (1, 0) - нельзя однозначно по формуле определить, нужен угол pi или -pi.
AgnyДата: Четверг, 17 Октября 2013, 14:54 | Сообщение # 2
частый гость
Сейчас нет на сайте
Если тебе нужно найти угол, то попробуй почитать вот эту статью где про Скалярное произведение векторов сказано:

http://habrahabr.ru/post/131931/


Все задания проходят очень легко если вы не знаете что они очень сложны.
Gargolev43Дата: Четверг, 17 Октября 2013, 14:59 | Сообщение # 3
частый гость
Сейчас нет на сайте
Вроде нашел решение, но не уверен в этом.

Пусть угол1 - угол вектора1 с осью Ox, аналогично угол2. Находим по формуле выше через арктангенс.
угол3 = (угол2 - угол1) / N, где N достаточно большое, чтобы угол3 был острым

Далее если выполняется одно из условий:
1)угол3 положительный и одновременно выбрано направление по часовой стрелке
2)угол3 отрицательный и одновременно выбрано направление против часовой стрелки
то проверяем угол1 и угол2. Если они отрицательные, то прибавляем 2 * Pi
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг