一个单位圆的方程是 X2 + Y2 = 1,画在坐标系中:

圆与椭圆

 

对于圆来说,由于它是高度对称的,旋转属性对它而言意义不大。

在 canvas 画布上绘制一个圆很简单,有两种方法:

1. 使用 html5 中提供的 drawArc API

2. 我们也可以用公式  X2 + Y2 = 1,将 X 从 -1 到 1 中每个微元 dx 对应的纵坐标一个个算出来,然后再将这些点连接起来,只要切割的足够细,那么绘制出来的图形就越接近圆。

只是需要注意的是对于 1 个 x,可能有两个 Y 值与之对应。

3. 我们也可以换一种坐标方程,使用极坐标来表示单位圆,x = cos(θ), y = sin(θ)。θ 在 [0, 2π) 区间内,对于每一个 θ,有唯一的 x, y。

如果不使用 html5 中的 api,绘图的时候选择极坐标方程进行取点会方便很多。

先定义一个方法 drawWithLine:

 1 function drawWithLine( v ) {
 2     ctx.beginPath();
 3     
 4     ctx.moveTo( v[0], v[1] );
 5     for( let i = 1; i <= v.numItems; i++ ) {
 6         ctx.lineTo( v[ i * 2 ], v[ i * 2 + 1 ] );
 7     }
 8     ctx.stroke();
 9     
10     ctx.closePath();
11 }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2021-11-09
猜你喜欢
  • 2021-08-06
  • 2021-12-04
  • 2022-03-07
  • 2021-12-04
  • 2021-07-18
  • 2021-09-29
相关资源
相似解决方案