Javascript 是否可以在不使用.arc()或任何其他HTML标记的情况下创建一个圆?

Javascript 是否可以在不使用.arc()或任何其他HTML标记的情况下创建一个圆?,javascript,html,canvas,Javascript,Html,Canvas,我正在尝试使用HTML中的画布,当我使用.arc()创建一个圆时,我不知道如何获取它的所有点。有人知道如何使用吗?在html中使用svg,对于exmaple: 圆圈图像: <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <circle cx="50" cy="50" r="50"/> </svg> 您还可以更改半径和其他详细信息。 请参阅此链接:在html中使用svg,对于

我正在尝试使用HTML中的画布,当我使用.arc()创建一个圆时,我不知道如何获取它的所有点。有人知道如何使用吗?

在html中使用svg,对于exmaple:

圆圈图像:

<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <circle cx="50" cy="50" r="50"/>
</svg>

您还可以更改半径和其他详细信息。
请参阅此链接:

在html中使用svg,对于exmaple:

圆圈图像:

<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <circle cx="50" cy="50" r="50"/>
</svg>

您还可以更改半径和其他详细信息。
请参阅此链接:

您可以画一个圆并获取其点,您可以执行以下操作:

let c=document.getElementById(“圆圈”);
设ctx=c.getContext(“2d”);
设cw=c,宽度=250;
设ch=c,高度=200;
设cx=cw/2,
cy=ch/2;
//点阵
让点=[]
ctx.lineWidth=3;
ctx.strokeStyle=“#64b150”;
//圆半径
设r=75;
ctx.beginPath();
for(设a=0;a<2*Math.PI;a+=1){
设o={}//圆上的一点
o、 x=cx+r*Math.cos(a);
o、 y=cy+r*Math.sin(a);
点。推(o);
ctx.lineTo(o.x,o.y)
}
ctx.closePath();
ctx.stroke()
canvas{border:1px solid;}

你可以画一个圆并得到它的点,你可以这样做:

let c=document.getElementById(“圆圈”);
设ctx=c.getContext(“2d”);
设cw=c,宽度=250;
设ch=c,高度=200;
设cx=cw/2,
cy=ch/2;
//点阵
让点=[]
ctx.lineWidth=3;
ctx.strokeStyle=“#64b150”;
//圆半径
设r=75;
ctx.beginPath();
for(设a=0;a<2*Math.PI;a+=1){
设o={}//圆上的一点
o、 x=cx+r*Math.cos(a);
o、 y=cy+r*Math.sin(a);
点。推(o);
ctx.lineTo(o.x,o.y)
}
ctx.closePath();
ctx.stroke()
canvas{border:1px solid;}

要渲染近似圆并获取该圆的点,可以在圆形图案线中绘制一系列线段,以便:

const canvas=document.getElementById('canvas');
const ctx=canvas.getContext('2d');
/*圆心和半径*/
常数centerX=50;
常数中心Y=50;
常数半径=25;
/*包含您的点的数组*/
常数点=[];
/*配置线渲染并开始绘制路径*/
ctx.lineWidth=2;
ctx.strokeStyle=“红色”;
ctx.beginPath();
/*迭代每一侧并计算其起点的位置*/
for(设i=0,边=50;i

要渲染近似圆并获取该圆的点,可以在圆形图案线中绘制一系列线段,以便:

const canvas=document.getElementById('canvas');
const ctx=canvas.getContext('2d');
/*圆心和半径*/
常数centerX=50;
常数中心Y=50;
常数半径=25;
/*包含您的点的数组*/
常数点=[];
/*配置线渲染并开始绘制路径*/
ctx.lineWidth=2;
ctx.strokeStyle=“红色”;
ctx.beginPath();
/*迭代每一侧并计算其起点的位置*/
for(设i=0,边=50;i

你看过这个了吗?也许这会引导你走向你想要的方向?你看过了吗?也许这会引导你走向你想要的方向?谢谢。如果可以的话,0.1π听起来很随意,并不是说它本身就不好,但应该注意一下,特别是它在大圆圈上看起来不太好,我同意。您可能需要选择不同的增量。谢谢。如果可以的话,0.1π听起来很随意,并不是说它本身就不好,但应该注意一下,特别是它在大圆圈上看起来不太好,我同意。您可能需要选择不同的增量。圆弧应在内部调用椭圆。。。这并没有回答问题,只回答了问题的标题。@Kaido感谢您的反馈-更新了我的答案以更好地适应问题的主体,而不是标题:)arc应该内部调用椭圆。。。这并没有回答问题,只回答了问题的标题。@Kaido感谢您的反馈-更新了我的答案,以更好地适应问题的主体,而不是标题:)