我有一个无限长的圆柱体定义使用
- 半径
- 3d 中的一个点
- 使用 3d 矢量定义的轴
我有一组放置在网格中的 3d 坐标点。
我想将这个点网格包裹在我的圆柱体的曲率周围。怎么做
我有一个无限长的圆柱体定义使用
我有一组放置在网格中的 3d 坐标点。
我想将这个点网格包裹在我的圆柱体的曲率周围。怎么做
您似乎正在尝试将网格点投影到圆柱表面上。您可以通过一些矢量投影来做到这一点。
项目P沿_
P a = (P · a) * a
计算垂直于轴的网格点的投影
P ⊥ = P - P a
计算垂直投影的单位向量
p ⊥ = P ⊥ / ||P ⊥ ||
计算网格点在圆柱体上的投影
P cyl = P a + r * p ⊥
P cyl是您想要的值。为每个网格点计算它。
基本上,您正在向上移动圆柱体轴,直到到达该方向的网格点,然后向网格点移动,直到碰到圆柱体,然后停止。
首先将圆柱体放置在某个标准位置可能是最简单的,例如,基于-平面和轴沿,生成点网格为,然后平移和旋转两个圆柱体并指出它应该驻留的位置: