Функция определения, когда сфера касается пола 3d - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь заставить сферу соприкасаться с полом. Радиус сфер равен 1.0f - мне нужно решить, как определить расстояние между сферой и полом.

Сфера находится здесь

glm::mat4 mv_matrix_sphere =
    glm::translate(glm::vec3(-2.0f, y, 0.0f)) *
    glm::rotate(-t, glm::vec3(0.0f, 1.0f, 0.0f)) *
    glm::rotate(-t, glm::vec3(1.0f, 0.0f, 0.0f)) *
    glm::mat4(1.0f);
mySphere.mv_matrix = myGraphics.viewMatrix * mv_matrix_sphere;
mySphere.proj_matrix = myGraphics.proj_matrix;

Где y = 20.0f

Сфера упадет и приземлится на пол в

myFloor.mv_matrix = myGraphics.viewMatrix *
    glm::translate(glm::vec3(0.0f, 0.0f, 0.0f)) *
    glm::scale(glm::vec3(1000.0f, 0.001f, 1000.0f)) *
    glm::mat4(1.0f);
myFloor.proj_matrix = myGraphics.proj_matrix;

Функция, которая мне нужна, сработает, когда Сфера находится на расстоянии 1.0f (радиус) от пола, так что она сталкивается с ней, а не обрывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...