我正在用 OpenGL 和 C++ 编写一个应用程序。我需要检测用户何时单击带有光线投射的线段。但是,因为线条只有一个像素粗,所以我需要将每个线段视为 3D 圆柱体,以便用户在单击线段时有一些余地。我该怎么做呢?我对数学不是很熟练,所以我无法掌握我在互联网上找到的高级描述。我找到了一些算法,但这些算法都假设圆柱体位于原点并且没有旋转。我需要一个适用于圆柱体任何方向的解决方案。
我正在用 OpenGL 和 C++ 编写一个应用程序。我需要检测用户何时单击带有光线投射的线段。但是,因为线条只有一个像素粗,所以我需要将每个线段视为 3D 圆柱体,以便用户在单击线段时有一些余地。我该怎么做呢?我对数学不是很熟练,所以我无法掌握我在互联网上找到的高级描述。我找到了一些算法,但这些算法都假设圆柱体位于原点并且没有旋转。我需要一个适用于圆柱体任何方向的解决方案。