glmの、ある点に最も近い線分上の点を求める関数。
公式マニュアル:
https://glm.g-truc.net/0.9.9/api/a00310.html
static float z = 3.f; { z -= 0.1; glm::vec3 p(1, z, 0); //どこか頂点 glm::vec3 a(0, -2, 0);//線分の始点 glm::vec3 b(0, 2, 0); //線分の終点 // 点に最も近い直線上の点を求めるのに必要 // #include <glm/gtx/closest_point.hpp> glm::vec3 kk = glm::closestPointOnLine(p, a, b); glLineWidth(3);//線分 glBegin(GL_LINES); glVertex3fv(glm::value_ptr(a)); glVertex3fv(glm::value_ptr(b)); glEnd(); glPointSize(7);//どこか頂点 glColor3d(1, 0, 0); glBegin(GL_POINTS); glVertex3fv(glm::value_ptr(p)); glEnd(); glPointSize(7);//線分上の点 glColor3d(0, 1, 0); glBegin(GL_POINTS); glVertex3fv(glm::value_ptr(kk)); glEnd(); }