Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

Страница 1 из 11
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Работа с координатами и векторами
Работа с координатами и векторами
SourceSamil Дата: Вторник, 06.09.2016, 19:00:19 | Сообщение # 1
Сообщений: 237
Репутация: [ +/- ]
Прошу помощи.
Позиция x и y известна, нужно найти позицию o (центр вектора XY) и построить вектор OO1 = вектору XY, так, чтобы угл 2 был равен углу 1

Прикрепления: 5753579.png(25Kb)


Сообщение отредактировал SourceSamil - Вторник, 06.09.2016, 19:01:08
 
WOW_NAMES Дата: Вторник, 13.09.2016, 21:00:18 | Сообщение # 2
Сообщений: 167
Репутация: -3 [ +/- ]
Цитата SourceSamil ()
Прошу помощи.

Я думаю ты знаешь ссылку на апи =)
 
_R1KO_ Дата: Вторник, 13.09.2016, 22:34:39 | Сообщение # 3
Сообщений: 187
Репутация: 27 [ +/- ]
SourceSamil, ну если у тебя есть точки A[3] и B[3] то средина отрезка это:
C[0] = (A[0]+B[0])/2;
C[1] = (A[1]+B[1])/2;
C[2] = (A[2]+B[2])/2;

А вот как с углами сделать - хз. Перпендикулярный найти - можно
 
SourceSamil Дата: Среда, 14.09.2016, 12:11:46 | Сообщение # 4
Сообщений: 237
Репутация: [ +/- ]
Спс, глядишь кто-нибудь подтянется


Сообщение отредактировал SourceSamil - Среда, 14.09.2016, 12:12:05
 
_R1KO_ Дата: Среда, 14.09.2016, 12:16:40 | Сообщение # 5
Сообщений: 187
Репутация: 27 [ +/- ]
SourceSamil, хотя. смотри: Сумма углов треугольника на евклидовой плоскости равна 180°.
Следовательно тебе сначала надо найти угол от оси до вектора, затем умножить его на 2 и отнять что выйдет от 180. Получишь угол который должен быть между изначальным вектором и тем, который строишь
 
SourceSamil Дата: Среда, 14.09.2016, 16:04:30 | Сообщение # 6
Сообщений: 237
Репутация: [ +/- ]
В идеале мне нужен вектор направленный из O в O1
 
_R1KO_ Дата: Среда, 14.09.2016, 16:15:51 | Сообщение # 7
Сообщений: 187
Репутация: 27 [ +/- ]
Цитата SourceSamil ()
В идеале мне нужен вектор направленный из O в O1

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


Сообщение отредактировал _R1KO_ - Четверг, 15.09.2016, 21:46:32
 
SourceSamil Дата: Среда, 14.09.2016, 16:17:19 | Сообщение # 8
Сообщений: 237
Репутация: [ +/- ]
Вот я тоже парюсь, а с перпендикулярным как?
 
_R1KO_ Дата: Среда, 14.09.2016, 16:47:17 | Сообщение # 9
Сообщений: 187
Репутация: 27 [ +/- ]
SourceSamil, http://www.webmath.ru/poleznoe/formules_13_14.php
 
stepkick Дата: Четверг, 15.09.2016, 12:08:36 | Сообщение # 10
Сообщений: 2
Репутация: 2 [ +/- ]
Код
C[0] = (A[0] + B[0]) / 2.0;
C[1] = (A[1] + B[1]) / 2.0;
C[2] = (A[2] + B[2]) / 2.0;
X[0] = (C[0] + C[0] * Cosine(DegToRad(90.0)));
X[1] = (C[1] + C[1] * Sine(DegToRad(90.0)));
X[2] = C[2];

A - X.
B - Y.
C - O.
X - сама точка O1.
 
SourceSamil Дата: Пятница, 16.09.2016, 10:56:39 | Сообщение # 11
Сообщений: 237
Репутация: [ +/- ]
Воу, спасибо большое, очень хорошо

Добавлено (16.09.2016, 10:56:39)
---------------------------------------------
stepkick, угл XOO1 не известен. возможно юзать угл OXO1?

 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Работа с координатами и векторами
Страница 1 из 11
Поиск: