Need help?
Create a topic in the appropriate section
Don't write everything in the chat!Take a look at the marketplace
There you can buy
everything related to game serversDon't want a ban?
Please read our rules
Don't disturb the order!Sell or buy?
Use services of the guarantor
We will make your deal safe
- 0
Получение координаты в пространстве под углом на расстоянии от текущей координаты с поправкой pitch и roll
Asked by
BorizzK
-
Similar Content
-
By BorizzK
Есть игрок
Есть его координаты X и Y
Нужно получить координаты точки X1 и X2 на расстоянии 2м слева от игрока
...
Угол (из GetOrientation()) мы знаем
Те банально надо получить координаты точки на окружности зная угол, радиус и координаты центра окружности
мне видится следующее решение
float dist = 2;
float A = player.GetOrientation()[0] - 45;
float x1 = dist * Math.Cos(A);
float y1 = dist * Math.Sin(A);
vector finpos = Vector(player.GetPosition()[0] + x1, player.GetPosition()[1], player.GetPosition()[2] + y1);
или я не прав?
может в Math enscript'а есть готовая функция?
Спасибо!
-
By BorizzK
Грамотные мать'и'матеги или геодезисты есть?
Есть целевые координаты и ориентация yaw
Скажем X = 6000, Y = 5000
И эталонная угловая ориентация 110, 0, 0
Мне нужно получить смещенные в отрицательную сторону координаты, что бы прямая из этих координат с эталонной ориентацией пересекала целевую точку с координатами X и Y, смещение должно зависеть от некой рандомной величины, да не важно - например при по X/Y 500 - startX = 5500, startY = 4500 - но это для эталонной угловой ориентации 45 градусов
Понимаю что надо считать используя синус/косинус/радиан, но тк дааавно все, что связанно чистой математикой/геометрией из головы выветрилось напрочь, туплю аццке
Возможно есть и встроенный в enscript вариант...
Сижу чешу репу пялясь на гору цисок которые надо на след неделе вводить в эксплуатацию.... А так хочется доделать свой вариант самолетика перевозящего различные грузы по миру...
сорри за сумбур
-
By Miduznya
Мужики есть у кого карта dayz SA под арма3) ? просто дял себя хочу поставить поугарать маленько)
В ЛС можно написать даже лучше)
-
By BorizzK
Чет затупил нещадно
Делал как-то еще на 063 но куда-то дел код
Получаем в цикле что на игроке и пытаемся получить что в вещах
AttCount = player.GetInventory().AttachmentCount();
for ( int i = 0; i < AttCount; i++ )
{
attachment = player.GetInventory().GetAttachmentFromIndex(i);
if ( attachment.IsItemBase() )
{
SubAttCount = attachment.GetInventory().AttachmentCount();
for ( int a = 0; a < SubAttCount; a++ )
{
subattachment = attachment.GetInventory().GetAttachmentFromIndex(a);
}
}
}
Если находится akm, то attachment.GetInventory().AttachmentCount(); и далее работает
Если например куртка или штаны - то нет, чет запамятовал, как получить содержимое в случае курки, рюкзака???
...
Спасибо!
-
-
Our picks
Вобщем тема такая
1я задачка была такая
Нужно получить координату на плоскости под углом на расстоянии от текущей координаты
Задачку решил тут
Код в итоге таков:
например выведем в лог координаты точки на плоскости на расстоянии 2м и под углом 90 град (справа) от игрока (вызвав функцию PrintCoords, передав ей в качестве параметра переменную содержащую ссылку на перса игрока)
Это была задачка 1 и она была решена!
далее надо решить более сложную задачу - она будет номер 2
Надо вычислить координату не на плоскости, а вообще в пространстве, взяв в качестве поправок значения pitch и roll (наклон по поперечной и продольной осям) которые получаются из функции обьект.GetOrientation() - первое значение масива типа вектор которое возвращает функция - угол на плоскости, второе угол в поперечной оси, третье в продольной (вроде так)
те если игрок, да не важно, просто обьект, имеет наклон в поперечной оси 45 градусов (от так как этот слэш /), то точка под углом на плоскости относительно игрока 90град и расстоянии 2м "справа для него будет 'ниже', чем слева"
врбщем - нам надо получить координату под улом 90град на плоскости, 45град по вертикали и расстоянии 2м от него слева
воот
и тут у меня мозг взорвался (и почему-то захотелось вискаря)
я понимаю что в данном случае нужно отталкиваться от поперечной вертикальной плоскости... но чет не догоняю как........
Share this post
Link to post
Share on other sites