# g-quad 标签 API 文档 本文档由 `DeepSeek R1` 模型生成并微调。 --- ```mermaid graph LR QuadraticProps --> GraphicBaseProps --> BaseProps click GraphicBaseProps "./GraphicBaseProps" click BaseProps "./BaseProps" ``` --- ## 接口定义 ```typescript interface QuadraticProps extends GraphicBaseProps { sx?: number; // 起点X坐标 sy?: number; // 起点Y坐标 cpx?: number; // 控制点X坐标 cpy?: number; // 控制点Y坐标 ex?: number; // 终点X坐标 ey?: number; // 终点Y坐标 curve?: QuadParams; // 简写属性 [sx, sy, cpx, cpy, ex, ey] } ``` --- ## 核心属性说明 | 属性 | 类型 | 默认值 | 说明 | | ------- | ---------------------------- | ------ | --------------------------------------- | | `sx` | `number` | - | 曲线起点 X 坐标(单位:像素) | | `sy` | `number` | - | 曲线起点 Y 坐标(单位:像素) | | `cpx` | `number` | - | 控制点 X 坐标(决定曲线弯曲方向和程度) | | `cpy` | `number` | - | 控制点 Y 坐标 | | `ex` | `number` | - | 曲线终点 X 坐标 | | `ey` | `number` | - | 曲线终点 Y 坐标 | | `curve` | `[sx, sy, cpx, cpy, ex, ey]` | - | 简写属性:一次性定义全部坐标点 | --- ## 完整示例集 ### 示例 1:基础二次贝塞尔曲线 ```tsx ``` --- ### 示例 2:虚线抛物线 ```tsx ``` **曲线形态**: - 起点 (50,400) → 控制点 (250,100) → 终点 (450,400) - 形成对称的类似抛物线形状的曲线 --- ## 控制点行为说明 ### 控制点影响示意图 ```typescript /* (cpx,cpy) ● / \ / \ (start) ●-----●(end) */ ``` - **单控制点**:二次贝塞尔曲线仅有一个控制点,同时影响曲线的起始和结束方向 - **对称性**:控制点距离起点/终点的垂直距离越大,曲线弯曲越明显 ### 特殊形态案例 | 控制点布局 | 曲线形态描述 | | ------------------------ | ------------- | | 控制点在起点终点连线中点 | 退化为直线 | | 控制点在起点正上方 | 形成"U"型曲线 | | 控制点在终点右侧 | 形成"C"型曲线 | --- ## 注意事项 1. **控制点极限值**: 当控制点与起点/终点距离过大时可能产生锐角: ```tsx // 可能产生非预期的尖角形态 ```