彭
彭真
Unregistered / Unconfirmed
GUEST, unregistred user!
300分求一TIN的实现程序,不够再加,急
要求:
生成不规则三角网。点坐标源文件格式:ID,CODE,Y,X,Z的TXT文件,
生成的算法要求能用户可以选择使用 三角形扩展法和径向扫描法
径向扫描法的步骤如下:
第一步,任取一个点(设为o点)作为基准点,计算其余的n -1 ,个点和它的连线的方向,以方向角的大小进行排序;
第二步,连接 1 点和其余的n -1 ,个点,并把相邻的点连接起来,形成最初的扇形三角网
第三步,从扇形边的任一点开始,以一定的方向(顺时针或逆时针)进行凹边连接,以p点为起点(当前点),沿逆时针方向搜索下一个点s和再下一个点q,如果 q 点在线段 ps 的前进的方向的左侧,当前点改为s,从s点继续向前搜索;如果 q点在线段ps前进方向的右侧,则连接pq,生成一个新的三角形,再往下搜索,r 点在pq的右侧,连接 pr ,又生成一个三角形,下一个点 t 在 pr 的左侧,当前点改为 r ,从 r 点继续向前搜索,直到把外边界变成凸多边形为止
第四步,利用局部优化算法,把第三步生成好的三角网进行优化,得到最优的三角网,
LOP局部优化算法其实很简单在相邻的两个三角形(abd和bcd)所组成的四边形中,如果对角线交换所得的两个新三角形(abc和acd)比原来的两个三角形更优,则用新的两个三角形替代原来的两个三角形。更优的标准是最小角度最大原则,即调整前的二个三角形共六个内角中的最小角和调整后的六个角中的最小角相比较,若前者小于后者则调整,否则不调整。
该程序本已实现,但我现在在外地,无法做,所以还望哪个大侠帮帮忙
要求:
生成不规则三角网。点坐标源文件格式:ID,CODE,Y,X,Z的TXT文件,
生成的算法要求能用户可以选择使用 三角形扩展法和径向扫描法
径向扫描法的步骤如下:
第一步,任取一个点(设为o点)作为基准点,计算其余的n -1 ,个点和它的连线的方向,以方向角的大小进行排序;
第二步,连接 1 点和其余的n -1 ,个点,并把相邻的点连接起来,形成最初的扇形三角网
第三步,从扇形边的任一点开始,以一定的方向(顺时针或逆时针)进行凹边连接,以p点为起点(当前点),沿逆时针方向搜索下一个点s和再下一个点q,如果 q 点在线段 ps 的前进的方向的左侧,当前点改为s,从s点继续向前搜索;如果 q点在线段ps前进方向的右侧,则连接pq,生成一个新的三角形,再往下搜索,r 点在pq的右侧,连接 pr ,又生成一个三角形,下一个点 t 在 pr 的左侧,当前点改为 r ,从 r 点继续向前搜索,直到把外边界变成凸多边形为止
第四步,利用局部优化算法,把第三步生成好的三角网进行优化,得到最优的三角网,
LOP局部优化算法其实很简单在相邻的两个三角形(abd和bcd)所组成的四边形中,如果对角线交换所得的两个新三角形(abc和acd)比原来的两个三角形更优,则用新的两个三角形替代原来的两个三角形。更优的标准是最小角度最大原则,即调整前的二个三角形共六个内角中的最小角和调整后的六个角中的最小角相比较,若前者小于后者则调整,否则不调整。
该程序本已实现,但我现在在外地,无法做,所以还望哪个大侠帮帮忙