Javascript 如何使用函数在画布中创建五角星?

Javascript 如何使用函数在画布中创建五角星?,javascript,canvas,Javascript,Canvas,如何在画布上使用 function filledStar(x,y,a){code} filledStar(40,50,75); filledStar(130,120,100); filledStar(250,220,150); 应显示: 谢谢在形状中循环点的数量。在一个5点星的情况下,这是10点,因为你有外部的点,使尖峰和内部的点,回到形状 在回路内部,您可以找到每个连续点(x,y坐标),以便绘制一条线,例如使用ctx.lineTo(x,y) 为此,我将使用正弦和余弦,如下所示: c

如何在画布上使用

function filledStar(x,y,a){code} 

filledStar(40,50,75);
filledStar(130,120,100);
filledStar(250,220,150);
应显示:


谢谢

在形状中循环点的数量。在一个5点星的情况下,这是10点,因为你有外部的点,使尖峰和内部的点,回到形状

在回路内部,您可以找到每个连续点(x,y坐标),以便绘制一条线,例如使用
ctx.lineTo(x,y)

为此,我将使用正弦和余弦,如下所示:

  const x = xOffset+Math.sin(angle)*radius;
  const y = yOffset+Math.cos(angle)*radius;
你只需要提供偏移量,角度和半径,它会给你x,y坐标

从星形中每个点的循环开始:

for(let i = 0; i < 10; i ++){ ... }
画布{
位置:绝对位置;
左:0;
排名:0;
宽度:100%;
身高:100%;
溢出:隐藏;
背景色:黑色;
}

向我们展示您的尝试。这里的目标是在代码无法按预期工作时帮助您修复代码。Stackoverflow不是免费的代码编写或“如何”教程服务。花些时间通读《谢谢你的建议》中的各个主题。我想提出我的代码,但问题是我不知道从哪里开始。我试图找到一个答案,但没有类似的。所以我需要问一下,我应该使用一种特殊的算法吗?你的家庭作业是改变内点的位置,使它们成为一个完美的5点星。