• JS画几何图形之三【正弦曲线】


    数学式:y=Asin(ωx+φ)+k

    样例:http://www.zhaojz.com.cn/demo/draw7.html

    依赖:【点】、【直线】

    JS函数的声明:

    //画正弦曲线
    //dot 原点
    //amplitude    振幅 -- A
    //initialPhase 初相 -- φ
    //setover 偏距 -- k
    //palstance 角速度 -- ω
    //len 周期数
    function drawSinusoid(dot, amplitude,initialPhase,palstance,setover, len, opts){
        var color = opts&&opts.color?opts.color:"DarkRed"; //曲线的颜色
        var max = len*2*Math.PI/w; //x的最大值
        //var x = -2*Math.PI/w/3;
        var x = 0; //x的初值
        var pre = [dot[0]+x, dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)]; //y的初值
        for(;x < max;x+=5){ //每五个单位画一条线
            var cur = [dot[0]+x, dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)];
            drawLine(pre, cur, {color: color}); // 画线
            pre = cur;
        }
        var d = Math.PI/(2*w);
        for(var x =0;x < max;x+=d){//描点
            var cur = [dot[0]+x, dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)];
            drawPoint({
                pw:3,ph:3,color:'DarkRed',point: cur
            });
        }
        
        var pend = [dot[0]+max, dot[1]+(amplitude*Math.sin(palstance*max+initialPhase)+setover)];
        drawPoint({
            pw:3,ph:3,color:'DarkRed',point: pend
        });
        drawLine(pre, pend);
    }
  • 相关阅读:
    Oracle与MySQL的几点区别
    MySQL使用Union创建视图报错
    MySQL指定mysqld启动时所加载的配置文件
    MySQL使用位运算
    django rest framework(3)
    Django Rest Framework(2)
    Django 之缓存
    RESTful API
    restful framework 认证源码流程
    其他排序
  • 原文地址:https://www.cnblogs.com/zhaojz/p/4218005.html
Copyright © 2020-2023  润新知