## 圆形与圆弧
**arc()**
绘制圆弧或者圆,我们使用`arc()`方法
```
arc(x, y, radius, startAngle, endAngle, anticlockwise)
```
- x:圆弧中心(圆心)的 x 轴坐标。
- y:圆弧中心(圆心)的 y 轴坐标。
- radius:圆弧的半径。
- startAngle:圆弧的起始点, x轴方向开始计算,单位以弧度表示。
- endAngle:圆弧的终点, 单位以弧度表示。
- anticlockwise 可选:可选的Boolean值 ,如果为 true,逆时针绘制圆弧,反之,顺时针绘制。
注意:`arc()`函数中的角度单位是弧度,不是度数。角度与弧度的js表达式:
```
radians=(Math.PI/180)*degrees。
```
实例:canvas-demo/arc.html:
```
cxt.beginPath();
cxt.arc(70,70,50,0,Math.PI/2,true);
cxt.stroke();
cxt.beginPath();
cxt.arc(180,70,50,0,Math.PI/2,false);
cxt.stroke();
cxt.beginPath();
cxt.arc(300,70,50,0,Math.PI/2,true);
cxt.fill();
cxt.beginPath();
cxt.arc(400,70,50,0,Math.PI/2,false);
cxt.fill();
```
**arcTo()**
`arcTo()`方法用于在画布上创建介于两个切线之间的弧/曲线。
```
arcTo(x1, y1, x2, y2, radius)
```
- x1:第一个控制点的 x 轴坐标。
- y1:第一个控制点的 y 轴坐标。
- x2:第二个控制点的 x 轴坐标。
- y2:第二个控制点的 y 轴坐标。
- radius:圆弧的半径。
实例:canvas-demo/arcTo.html:
```
<canvas id="canvas" width="400" height="300">
不支持canvas
</canvas>
<script>
var canvas = document.getElementById('canvas');
var ctx = '';
ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(100,20);
ctx.arcTo(150,20,150,70,50);
ctx.lineTo(150,120);
ctx.stroke();
</script>
```