PixPhys

PixPhys

Not enough ratings
Как сделать дальномер, который показывает координаты?
By дура
   
Award
Favorite
Favorited
Unfavorite
Введение
Всем привет! В этом руководстве я расскажу как узнать координаты блока при помощи дальномера. Да, вы конечно можете использовать гпс блок, но это путь казуала. Данную схему можно использовать в абсолютно разных областях, первое что пришло мне в голову это системы наведения.
Глава 1: Принцип работы / концепт
И так, что бы построить такое устройство, сначала нужно придумать принцип его работы. Т.е. условно у нас есть 2 объекта, назовем их A и B. Мы знаем координаты объекта A, и имеем дальномер на нем. Нам нужно найти координаты объекта B, при этом мы никак не можем с ним взаимодействовать(устанавливать на него блоки).Это должно выглядеть примерным образом:
Для лучшего понимания концепта, я начертил схему:
Сначала, схема может показаться страшной, но я все объясню. И так, на схеме указаны наши 2 объекта
Объект A кирпичиком
И объект B кружочком соответственно

На схеме также изображена координатная ось(ось x и ось y). Мы знаем координаты объекта A на плоскости, т.е. мы знаем расстояние от объекта до каждой из осей(расстояние указано над штрихованными линиями, на схеме это 25 по x и 25 по y, но это просто для примера, расстояние может быть любым)

Мы также знаем дистанцию от объекта A до объекта B(при помощи дальномера), на схеме она имеет название c
Следовательно из всего этого, мы можем изобразить прямоугольный треугольник с катетами a и b, и гипотенузой c.
Предполагаю, что ты уже догадался как мы будем искать координаты. На схеме видно что катет a параллелен оси y, а катет b параллелен оси x. Но просто найти катеты будет не достаточно, так мы найдем разность координат объекта A и объекта B, для того что бы найти координаты объекта B, нам нужно прибавить координаты объекта A.
То есть что бы найти положение объекта B по оси x нам нужно найти катет B и сложить его с положением объекта A по оси x.
Аналогично будет и с осью y. Что бы найти положение объекта B по оси y нам нужно найти катет a и прибавить к нему наше положение по оси y.

И так, мы поняли что что бы найти координаты объекта B, нам нужно найти 2 катета. Для этого нам потребуется 2 формулы которые я вынес за пределы координатных осей.
катет a=c*cos(B), катет b=c*cos(D). Здесь нам не хватает 2 угла, а именно угол B и угол D. Угол B мы можем найти просто прикрепив к дальномеру угломер.
Зная что сумма углов всех треугольников равна 180 градусов, мы можем посчитать угол B. Он будет равен B=180-(D+90)
И так, мы нашли все что нужно для нахождения катетов, поэтому считаем по вышеперечисленной формуле: a=c*cos(B) , b=c*cos(D). Зная катеты треугольника мы можем посчитать координаты объекта B по формуле: x=b+x1(где x1 координаты объекта A), y=a+y1(где y1 координаты объекта A) Все! Таким не хитрым методом мы можем вычислить координаты объекта B имея только дальномер и углометр. Это все было только в теории, теперь тоже самое нужно повторить в игре.
Глава 2: Создание прибора
И так, в предыдущей главе мы определились как будет работать наше устройство, теперь нам нужно повторить его в игре. В игре данный прибор будет выглядеть примерно так:
Теперь подробнее. Здесь установлен генератор электричества, данный вариант генерирует энергию фактически из ничего, ведь вертолетный двигатель не требует никакого топлива. От него идет запитка всех электроприборов.
Здесь установлен дальномер и углометр, ничего особенного.
Этот свичбокс инвертирует значения возвращаемые углометром. При стандартных настройках, он возвращает отрицательные значения если его наклонить вверх, и положительные если в низ
Прошу так же обратить внимание на вот эти 2 округлителя, они не обязательны, я их использовал просто что бы на мониторах влазили числа которые я выводил. Можете их оставить, либо можете подключать все напрямую.
Идем дальше, это *блок* вычисляет катет b, в тригонометрическом блоке функция sin
Здесь мы считаем угол B
Здесь считаем катет a, в тригонометрическом блоке функция cos
И так, финальный модуль, в нем мы складываем катеты и наши координаты(в дата врайтерах установлено число 8, это нужно для небольшого фикса погрешности)
Итоги
Вот и все! В этом руководстве я разобрал прибор который может определять координаты объекта при помощи дальномера и углометра. Хочу также сделать примечание: ставьте гпс как можно ближе к дальномеру, так погрешность будет минимальной.
2 Comments
СОСУНОК102 10 Sep, 2022 @ 1:18pm 
Нихуйсем блять
32141ツ 12 Mar, 2022 @ 1:15am 
Нихуйсем блять