Posts Tagged ‘acos’
Php圆周取点算法
星期一, 五月 27th, 2013 58 views本篇的重点其实是圆周取点算法,说是Php只是因为通过Php的进行编码而已,使用其他语言均可。
首先概述一下圆周取点算法的需求:以 O(Xo,Yo) 为圆心,d 为半径画一个圆,从圆心角0度开始,依次显示出在这个圆上直线间距为 t 的所有点的坐标。
如图:
在这个圆 O上所有直线间距为t的点的坐标为 P1、P2…Pn
接下来看算法:
①如上图,通过圆的简单定理可以知道在同一个圆上当两个扇形的弦长即 t 相等时,其圆心角也是相等的,因此本算法可以将 t 转换为圆心角度数再做计算:
SinO` = t / 2r
∠O` = arcsin(SinO`)
∠O = 2∠O`
此时即将弦长 t 转换成了对应的圆心角。
②接下来我们根据圆心角计算出对应的点的坐标,使用公式如下:
Xn = Xo + r * Cos(0°* (n-1))
Yn = Yo + r * Sin(0°* (n-1))
此时Pn(Xn,Yn)即是我们需要求出的圆上的点。
(更多…)