Есть игрок в виде шара и есть множество треугольников. У каждого треугольника есть 3 точки. Можно вычислить нормаль треугольника. Надо найти пересечение треугольника и шара.
В 2 видах найти:
1) Пересекается или нет сфера(радиус R
) и треугольник. Если пересекается то насколько глубоко( (R
минус (расстояние от плоскости до точки))(только при случае касания грани а не ребра) ).
2) Шар движется по вектору v(x,y,z) из точки (x0,y0,z0). И на каком расстоянии x
от 0
до X
произойдёт касание треугольника. Решение через прохождение от 0
до X
Малыми шагами или разделением пополам, и проверкой на столкновение каждый раз не очень подходит.
Нужны формулы.
Исходные данные:
glm::vec3 S; //положение сферы
glm::vec3 V; //единичный вектор движения
glm::vec3 P[3]; //треугольник
float R; //радиус сферы
float X; //расстояние движения
А также есть:
glm::cross //векторное произведение
glm::dot //векторное скалярное произведение
glm::normalize//нормализация вектора
Надо x
найти.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
В c++ перенос строки осуществляется через \n но он так-же переносит каретку в исходное состояние, пример:
В С++11 появился новый синтаксис инициализацииВот что по этому поводу пишет Скотт Майерс в книге Effective Modern C++:
Как в записать в mongo строку "1509137313000" что бы в базе она отображалась вот так
Я уже всю голову сломалПисал по-разному, но почему то из всего списка создаётся только два (всегда одни и те же StringBufferInputStream и Writer) каталога,...