Canvas 围绕画布中的点重新绘制一条线

Canvas 围绕画布中的点重新绘制一条线,canvas,rotation,line,Canvas,Rotation,Line,我有一些问题。我想在画布上填充多条围绕特定画布点的线。结果应该是在右中角有一个圆圈(黄色太阳),周围有一些太阳光束。例如,结果应该有点像旧日本国旗。我的主要问题是画一条线并复制多次(你说你的问题是画一条线并复制多次 这听起来就像是一个循环画线,它可以是一个实际的for循环,也可以是一个setInterval,或者两者的组合来设置动画 以下是一些想法: 在这一点上,我们直接从中心画线,只需使用一些三角学和一些随机性。 const canvas=document.getElementById(“c

我有一些问题。我想在画布上填充多条围绕特定画布点的线。结果应该是在右中角有一个圆圈(黄色太阳),周围有一些太阳光束。例如,结果应该有点像旧日本国旗。我的主要问题是画一条线并复制多次(

你说你的问题是画一条线并复制多次
这听起来就像是一个循环画线,它可以是一个实际的for循环,也可以是一个
setInterval
,或者两者的组合来设置动画

以下是一些想法:

  • 在这一点上,我们直接从中心画线,只需使用一些三角学和一些随机性。
    const canvas=document.getElementById(“c”);
    canvas.width=canvas.height=140;
    const ctx=canvas.getContext(“2d”);
    ctx.translate(canvas.width/2,canvas.height/2)
    设r=20;
    设钢筋=90;
    函数绘图(){
    ctx.clearRect(-100,-100200200)
    对于(变量i=0;i<360;i+=(360/巴)){
    var角度=i*((数学PI*2)/bar);
    var x=数学cos(角度)*r;
    变量y=数学正弦(角度)*r;
    var v=数学随机数()+2;
    ctx.beginPath();
    ctx.moveTo(x,y);
    ctx.lineTo(x*v,y*v)
    ctx.stroke();
    }
    }
    设置间隔(绘图,100)

    你说你的问题是画一条线,然后复制多次
    这听起来就像是一个循环画线,它可以是一个实际的for循环,也可以是一个
    setInterval
    ,或者两者的组合来设置动画

    以下是一些想法:

    • 在这一点上,我们直接从中心画线,只需使用一些三角学和一些随机性。
      const canvas=document.getElementById(“c”);
      canvas.width=canvas.height=140;
      const ctx=canvas.getContext(“2d”);
      ctx.translate(canvas.width/2,canvas.height/2)
      设r=20;
      设钢筋=90;
      函数绘图(){
      ctx.clearRect(-100,-100200200)
      对于(变量i=0;i<360;i+=(360/巴)){
      var角度=i*((数学PI*2)/bar);
      var x=数学cos(角度)*r;
      变量y=数学正弦(角度)*r;
      var v=数学随机数()+2;
      ctx.beginPath();
      ctx.moveTo(x,y);
      ctx.lineTo(x*v,y*v)
      ctx.stroke();
      }
      }
      设置间隔(绘图,100)