# g-circle 标签 API 文档
本文档由 `DeepSeek R1` 模型生成并微调。
---
```mermaid
graph LR
    CircleProps --> GraphicBaseProps --> BaseProps
    click GraphicBaseProps "./GraphicBaseProps"
    click BaseProps "./BaseProps"
```
---
## 接口定义
```typescript
interface CircleProps extends GraphicBaseProps {
    radius?: number; // 圆的半径
    start?: number; // 起始角度(单位:弧度)
    end?: number; // 结束角度(单位:弧度)
    circle?: CircleParams; // 简写属性 [x, y, radius, start?, end?],后两项要么都填,要么都不填
}
```
---
## 核心属性说明
| 属性     | 类型                      | 默认值 | 说明                                                       |
| -------- | ------------------------- | ------ | ---------------------------------------------------------- |
| `radius` | `number`                  | -      | 圆的半径(单位:像素)                                     |
| `start`  | `number`                  | `0`    | 起始角度(弧度),0 弧度 = 3 点钟方向(水平向右)          |
| `end`    | `number`                  | `2π`   | 结束角度(弧度),默认完整圆                               |
| `circle` | `[x, y, r, start?, end?]` | -      | 简写属性:
`[圆心x, 圆心y, 半径, 起始角度?, 结束角度?]` |
---
## 完整示例集
### 示例 1:基础圆形(填充)
```tsx
```
---
### 示例 2:描边圆形
```tsx
```
---
### 示例 3:弓形(填充闭合)
```tsx
```
**角度说明**:
-   绘制方向:**顺时针**(从 12 点走向 9 点)
-   自动闭合路径形成扇形
---
### 示例 4:圆弧(非闭合)
```tsx
```
**路径特征**:
-   起始角度:45 度(右上对角线方向)
-   结束角度:270 度(12 点钟方向)
-   开环不闭合,形成月牙形弧线
---
## 角度系统详解
### 坐标系与方向
```typescript
// 0弧度基准点与绘制方向示意图
/*
          Math.PI / 2 (90°)
                 |
                 |
Math.PI (180°) ——+—— 0 (0°)
                 |
                 |
       Math.PI * 3 / 2 (270°)
*/
```
-   **0 弧度基准**:3 点钟方向(与浏览器 Canvas API 完全一致)
-   **绘制方向**:角度递增为顺时针方向(`start=0, end=Math.PI/2` 绘制右下四分之一圆)
### 特殊角度对照表
| 弧度值        | 角度值 | 方向   |
| ------------- | ------ | ------ |
| `0`           | 0°     | 正右 → |
| `Math.PI/2`   | 90°    | 正上 ↑ |
| `Math.PI`     | 180°   | 正左 ← |
| `3*Math.PI/2` | 270°   | 正下 ↓ |
---
## 高级用法示例
### 动态进度环
```tsx
import { ref } from 'vue';
import { onTick } from '@motajs/render-vue';
const progress = ref(0);
// 每帧更新进度
onTick(() => {
    progress.value += 0.01;
});
;
```
**效果**:
-   0%时从顶部开始
-   进度条顺时针增长
-   圆角端点消除锯齿
---
## 注意事项
1. **简写属性优先级**:
```tsx
// 谁最后设置用谁的
```