各种曲线转为多线段执行最快的办法是直接用等分的办法,得到画多线段所需要的点,但画出来效果要差些,不是变形较大就是点很多,比如南方CASS把一个椭圆弄成多线段,不管其大小通通都是100个左右结点,其效果可想而知,但处理起来确实很快 我自己写过一个类似的程序,思路是先得到要处理的线上的点Pt(P1,P2,,,Pn),在Pn和Pn+1中间得到点q,判断q到直线Pn-Pn+1的距离及Pn-q + q-Pn+1 -Pn-Pn+1是否很小(或者三角形Pn-q-Pn+1面积是否很小),如果不是,将q加入到Pt的Pn之后,Pn+1之前 如果是,则不需要该点,只要将n+1就行了 我试过这个办法,处理出来效果很好,但由于判断过程太长,处理时间基本上由曲线形状决定 |