| calculateSEP(Node_part、宽容) |
| 步骤0。初始化常数 |
| r⟵图像半径 |
| 抵消⟵相机高度 |
| Node_part⟵节点的角色场景(类型的空间) |
| 宽容⟵SEP的容许范围 |
| 步骤1。检查click_mouse如果假 |
| 步骤1.1读取拓扑数据并获取节点参数 |
| Node_ath, Node_atv⟵场景节点的位置 |
| Node_part⟵节点场景的一部分 |
| 步骤2。定义函数来获得从用户输入坐标 |
| getCoordinate (mouse_ath mouse_atv, r,抵消){ |
| 如果相机方向是北方,高清⟵0,增加顺时针 |
| Angle_H⟵(Hd + mouse_ath)π/ 180 |
| Angle_V⟵mouse_atvπ/ 180 |
|
⟵r因为(Angle_H) |
|
⟵rsin (Angle_H) |
|
⟵抵消+ rsin (Angle_V)} |
| 步骤3。集click_mouse作为真正的 |
| 步骤3.1获得mouse_ath,mouse_atv从点击 |
| 步骤3.2计算坐标 |
| 3.3.1步获得用户确定点的坐标 |
|
⟵getCoordinate (mouse_ath mouse_atv, r,抵消) |
| 3.3.2步如果Node_part室内空间 |
|
⟵getCoordinate (mouse_ath mouse_atv, r,抵消) |
| 3.3.3步如果Node_part是室内的对象 |
|
⟵getCoordinate (mouse_ath mouse_atv, r,抵消) |
| 步骤4。9月计算矩阵 |
| 步骤4.1初始化:空白3 x 9月3日矩阵⟵0 |
| 步骤4.2公差取决于类型的空间或类型的对象 |
| 一步4.2.1计算准备9月矩阵值在XY平面 |
| 如果XY距离小于公差,SEP_Matrix [0] [0]⟵1 |
| 如果XY距离是一样宽容,SEP_Matrix [0] [1]⟵1 |
| 如果XY距离大于公差,SEP_Matrix [0] [2]⟵1 |
| 步骤9月4.2.2计算矩阵值在YZ平面 |
| 如果YZ距离小于公差,SEP_Matrix [1] [0]⟵1 |
| 如果YZ距离是一样宽容,SEP_Matrix [1] [1]⟵1 |
| 如果YZ距离大于公差,SEP_Matrix [1] [2]⟵1 |
| 步骤9月4.2.3计算矩阵值在XZ平面 |
| 如果XZ距离小于公差,SEP_Matrix [2] [0]⟵1 |
| 如果XZ距离是一样宽容,SEP_Matrix [2] [1]⟵1 |
| 如果XZ距离大于公差,9月矩阵[2][2]⟵1 |