Пятница, 29 Марта 2024, 03:35

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Программирование .NET » Расчёт угла между объектом и точкой в пространстве на C#.
Расчёт угла между объектом и точкой в пространстве на C#.
MinskiiДата: Понедельник, 30 Июля 2018, 15:34 | Сообщение # 1
участник
Сейчас нет на сайте
Всем доброго.Мне нужно отслеживать угол между точкой в пространстве и объектом,и записывать в переменную.Как это можно реализовать?В интернетах ничего не нашёл.

Один терранозавр - это 1024 гиганозавра, или 1048576 меганозавров.
Java/Kotlin, C#, C++.
Android разработчик. Инженер-программист программного обеспечения информационной безопасности мобильных систем.


Сообщение отредактировал Minskii - Понедельник, 30 Июля 2018, 15:34
NoterstoneДата: Понедельник, 30 Июля 2018, 15:50 | Сообщение # 2
участник
Сейчас нет на сайте
Ну, ты хотя бы сказал, в какой системе координат тебе надо найти.
MinskiiДата: Понедельник, 30 Июля 2018, 15:56 | Сообщение # 3
участник
Сейчас нет на сайте
Да тут вроде и без разницы.Либо в глобальном пространстве либо в страничном.

Добавлено (30 Июля 2018, 15:58)
---------------------------------------------
Простое двухмерное пространство.


Один терранозавр - это 1024 гиганозавра, или 1048576 меганозавров.
Java/Kotlin, C#, C++.
Android разработчик. Инженер-программист программного обеспечения информационной безопасности мобильных систем.


Сообщение отредактировал Minskii - Понедельник, 30 Июля 2018, 15:57
NoterstoneДата: Понедельник, 30 Июля 2018, 16:11 | Сообщение # 4
участник
Сейчас нет на сайте
В общем, не знаю, просто приведу пример для трехмерного и двухмерного пространства.
Для двухмерного это вычисляется по формуле:

Код

Vector2<float> point1(1, 1);
   Vector2<float> point2(-4, 5);

   float lenghtVector1 = sqrt((point1.x*point1.x) + (point1.y*point1.y));
   float lenghtVector2 = sqrt((point2.x*point2.x) + (point2.y*point2.y));

   float scalarProduct = (point1.x*point2.x) + (point1.y*point2.y);

   float angleBetweenVectorAB = acos(scalarProduct / (lenghtVector1*lenghtVector2)) * (180.0f / PI);


Для трехмерного аналогично, просто добавь z-компоненту в вычисления.
vampir0305Дата: Понедельник, 30 Июля 2018, 16:12 | Сообщение # 5
Unity C# Programmer
Сейчас нет на сайте
Ссылка

Красочная сюжетно-ориентированная игра-головоломка
MinskiiДата: Понедельник, 30 Июля 2018, 16:18 | Сообщение # 6
участник
Сейчас нет на сайте
Большое спасибо.

Один терранозавр - это 1024 гиганозавра, или 1048576 меганозавров.
Java/Kotlin, C#, C++.
Android разработчик. Инженер-программист программного обеспечения информационной безопасности мобильных систем.
Форум игроделов » Программирование » Программирование .NET » Расчёт угла между объектом и точкой в пространстве на C#.
  • Страница 1 из 1
  • 1
Поиск:

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