圆形点数组,螺旋点数组生成函数

原创 2016年06月02日 12:23:08
一个js方法,用来生成一组点坐标,通过num_限制点个数。
点坐标使用的是cocos2dx的cc.p(x,y).
//关于有规律的螺旋点生成工具
//圆心点,起始半径,半径变化值,起始角度,角度间隔,角度间隔变化值,创建多少个点,是否包含中心点
circlePlace:function(centerPoint_,r_,rBuffer_,beginAngle_,perAngle_,angleBuffer_,num_,containerCenter_){
    var _backPosArr=[];
    var _currentAngle=beginAngle_;
    var _currentCount=0;
    var _atr=Math.PI/180;
    var _centerX=centerPoint_.x;
    var _centerY=centerPoint_.y;
    var _r=r_;
    if(containerCenter_){
        _backPosArr.push(centerPoint_);
    }
    while (_currentCount<=num_){
        _currentCount++;
        var _x=_centerX+_r*Math.cos(_currentAngle*_atr);
        var _y=_centerY+_r*Math.sin(_currentAngle*_atr);
        perAngle_+=angleBuffer_;
        _currentAngle+=perAngle_;
        _r+=rBuffer_;
        _backPosArr.push(cc.p(_x,_y));
} return _backPosArr;},

调用
等分圆 屏幕中点为原点,半径100,每30度创建一个点,共12个。
circlePlace(cc.p(this.winSize.width*0.5,this.winSize.height*0.5),100,0,0,30,0,12)
螺旋线 半径递增,角度递减
circlePlace(cc.p(this.winSize.width*0.5,this.winSize.height*0.5),10,5,0,10,-0.1,100,true);

有兴趣可以自己在改改,比如添加一个衰减机制,现在的+=部分变成*=然后递减的部分变成一个衰减,效果就好很多。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

数据结构示例之用数组实现圆形队列

以下为“使用数组实现圆形队列”的简单示例 1. 用c语言实现的版本 #include #include #define QueueSize 10 /* 假定预分配的队列空间最多为10个元素 */...

黑马程序员-昨天研究一个通俗易懂的螺旋输出数组的算法,希望大家给点建议!!

需求:写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的 最外圈向内螺旋方式地顺序排列。

螺旋打印二维数组

在《C语言面试题大全》看到关于二维数组的螺旋打印。示例如下: 顺、逆时针 打印 n*n 数组。 比如 n = 3,打印:1 2 3 8 9 4 7 6 5n = 4,打印:1 2 3 4 1...

C++螺旋数组

写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:

写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如: n = 4 则打印:                    ...

C++语言写的螺旋数组

  • 2013-03-05 19:01
  • 231KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)