1.算法原理
以隧道中轴线为投影圆柱中轴线、隧道设计半径为投影圆柱半径构建投影基准面,以投影圆柱面的天顶方向为基准线方向,将隧道扫描点云沿着投影圆柱天顶方向投影到圆柱面上。取原始隧道任一点 P ( x i , y i , z i ) P(x_i , y_i , z_i ) P(xi,yi,zi), P P P 点对应的投影圆柱横截面中心为 o ( x c , y c , z c ) o(x_c , y_c , z_c ) o(xc,yc,zc), P P P 点与 o o o 点的连线与投影圆柱面交于一点 p p p,投影后的点为 P ′ ( x i ′ , y i ′ , z i ′ ) P'(x_i' , y_i' , z_i ') P′(xi′,yi′,zi′)。 P ′ P' P′的 x i ′ x_i' xi′坐标为对应原始点的里程坐标、 y i ′ y_i' yi′ 坐标为点沿着基准面到基准线的长度、 z i ′ z_i' zi′ 坐标为原始点到基准面的距离,见图(a),展开隧道点云见图(b),具体转化关系如下
式中,
(
x
i
,
y
i
,
z
i
)
(x_i ,y_i ,z_i )
(xi,yi,zi)为原始隧道点云坐标;
(
x
i
′
,
y
i
′
,
z
i
′
)
(x_i' ,y_i' ,z_i')
(xi′,yi′,zi′)为投影展开后的隧道点坐标;
r
r
r为设计半径。
2.圆柱展开
CloudCompare中的Unroll
功能实现将圆柱形和圆锥形点云展开成平面。
具体操作如下:
2.1 找到展开功能
2.2 设置相关参数
- Type:选择待展开的点云形状是圆柱形还是圆锥形。
- Axis:设置绕(X、Y、Z)哪个轴展开。
- Axis position:设置位于轴上的一个点(否则CloudCompare将使用点云的重心)。
- Radius:设置待展开的圆柱形点云的半径。