С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/55: Рейтинг темы: голосов - 55, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 26
1

Найти угол направления к точки в 2D плоскости

29.01.2013, 17:13. Показов 10020. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите плиз формулу как найти направления что-та типа компаса, есть компас и нужно найти курс направления в градусах или радианах до точки.

Есть точка A{x,y} будет как компас и есть точка B{x,y}, нужно узнать направления к точки в градусах или радианах, как ее найти ?, уже бьюсь об стенку второй день ))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2013, 17:13
Ответы с готовыми решениями:

Найти угол направления к точки в 2D плоскости
Подскажите плиз формулу как найти направления что-та типа компаса, есть компас и нужно найти курс...

Вычисление положения точек относительно вектора направления, зная координаты точки и угол
Здравствуйте! Разрабатываю игру, в игре есть точка с определенными координатами и направление...

Найти угол направления. Есть начальная точка и следующая(направление)
Помогите двоечнику с проблемой! :p Есть две точки типа: Нужно найти направление в...

Как найти вектор направления тела, зная угол поворота?
Как найти вектор направления\смещения по осям тела, зная угол его поворота.

9
13208 / 6597 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
29.01.2013, 17:27 2
Школьная геометрия.
Код
            * B(x,y)
           /|
          / |
         /  |
        /   |
A(x,y) *----* C(x,y)

  <A = arctg( BC / AC )
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 26
29.01.2013, 17:43  [ТС] 3
А C как я понял нужно произвольно добавить но только чтобы С{x} был равен A{x} ? или откуда она там взялась ? ) если да то чему будет равно C{y} ?
0
13208 / 6597 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
29.01.2013, 17:45 4
Декартова система координат. xC = xB , yC = yA.
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 26
29.01.2013, 18:00  [ТС] 5
А можно пример на языке JS а то что та не могу вдуплить как это все вычитать ? что за BC и AC)
0
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
29.01.2013, 19:10 6
korner_brazers, что неясного-то? AC, BC найти не можешь? В javascript найти угол в радианах можно так:
Javascript
1
var angle = Math.atan2(BC, AC);
Добавлено через 11 минут
Цитата Сообщение от korner_brazers Посмотреть сообщение
что за BC и AC)
катеты
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 26
29.01.2013, 19:41  [ТС] 7
Ну вот на стока я тупой, ну не пойму чему равны BC, AC ? если они равны BC = (A{x}-B{x}), AC = (A{y}-B{y}) то у меня не работает ))

Добавлено через 6 минут
Вот как я написал
Javascript
1
Math.atan2(y1 - y2, x1 - x2)
Дальше выдает что-та непонятно, угол меняетc в зависимости где расположена точка A

Добавлено через 21 минуту
Вот что я пытаюсь сделать http://jsfiddle.net/9apJH/, уже два дня бьюсь об стенку, перепробовал куча формул, пытаюсь точку заставить следить за курсором
0
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
29.01.2013, 20:20 8
то что показал Vovan-VE, называется решение прямоугольных треугольников и этому учат в начальных классах
оно так называется
0
425 / 167 / 48
Регистрация: 05.12.2012
Сообщений: 855
29.01.2013, 20:50 9
korner_brazers, я твой код не смотрел, покажу пример

Добавлено через 49 секунд
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
      function getId(id){return document.getElementById(id)}
      
      var canvas = null;
      var ctx = null;
      var angle = 0;
      var x = 30, y = 300;
      
      document.onmousemove = function(e) {
          e = e || window.event;
          var mx = e.clientX - x;
          var my = e.clientY - y;
          angle = Math.atan2(my, mx);
          move();
      }
      
      function move() {
          ctx.clearRect(0, 0, canvas.width, canvas.height);
          x = x + 15*Math.cos(angle);
          y = y + 15*Math.sin(angle);
          lineTo(30, 500, x, y, "red");
      }
      
      function lineTo(x0, y0, x, y, color) {
          ctx.beginPath();
          ctx.strokeStyle = color;
          ctx.moveTo(x0, y0);
          ctx.lineTo(x, y);
          ctx.stroke();
      };
      
      
      window.onload = function(e){
          canvas = getId('map');
          ctx = canvas.getContext("2d");
          lineTo(30, 500, x, y, "red");
      }
HTML5
1
<canvas id="map" width="1200" height="800"></canvas>
Насколько я понял ты хочешь реализовать обход препятствий, некий AI, умеющий обходить стены ?
0
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 26
29.01.2013, 21:15  [ТС] 10
Нашел где я ошибся, X отнимал Y, вот и вело себя так странно, думал в формуле дело
Цитата Сообщение от JsLoveR Посмотреть сообщение
Насколько я понял ты хочешь реализовать обход препятствий, некий AI, умеющий обходить стены ?
Да сначала думал чтобы скрипт сам прокладывал и обходил препятствия, но потом подумав решил пусть юзер сам прокладывает путь как он хочет при этом не позволит проложить путь сквозь припятские а заставит обойти.

Не думал что такая маленькая ошибка будет мне мозг парить JsLoveR Спасибо за пример так бы и не заметил где я ошибся )
0
29.01.2013, 21:15
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2013, 21:15
Помогаю со студенческими работами здесь

Вычислите все возможные плоскости которые содержат точки А(-1,0,0), В(0,1,0) и формируют угол 30
дана плоскость п : x-y+z-3=0, вычислите все возможные плоскости которые содержат точки А(-1,0,0),...

На плоскости заданы две точки A(x1,y1) и B(x2,y2). Определить, какой из отрезков - OA или OB образует больший угол с ось
На плоскости заданы две точки A(x1,y1) и B(x2,y2). Определить, какой из отрезков - OA или OB...

Найти уравнение плоскости, проходящей через точки M(1;-1;2),N(3;1;-2) и перпендикулярной к плоскости XOY
Найти уравнение плоскости, проходящей через точки M(1;-1;2),N(3;1;-2) и перпендикулярной к...

Подпрограммы. Для точки на плоскости найти расстояние от точки до начала координат
Для точки на плоскости с заданными координатами (x,y) найти расстояние l от точки до начала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru