详细介绍SVG路径的Q二次贝塞尔曲线命令,包括单控制点原理、绝对坐标和相对坐标的用法。通过实例掌握二次贝塞尔曲线的绑制技巧。 二次贝塞尔曲线只有一个控制点,比三次贝塞尔曲线更简单,适合绑制简单的弧形。
三次贝塞尔曲线有两个控制点,可以绑制S形曲线。二次贝塞尔曲线只有一个控制点,只能绑制单向弯曲的弧形。
<!-- 二次贝塞尔曲线 -->
<path d="M 30,150 Q 100,30 170,150" fill="none" stroke="#3498db" stroke-width="2"/>
<!-- 三次贝塞尔曲线 -->
<path d="M 230,150 C 260,30 340,30 370,150" fill="none" stroke="#e74c3c" stroke-width="2"/>
| 参数 | 说明 |
|---|---|
| x1,y1 | 控制点坐标 |
| x,y | 终点坐标 |
<path d="M 30,120 Q 150,20 270,120" fill="none" stroke="#3498db" stroke-width="2"/>
<path d="M 30,75 Q 150,10 270,75" fill="none" stroke="#3498db" stroke-width="2"/>
<path d="M 30,75 Q 150,75 270,75" fill="none" stroke="#e74c3c" stroke-width="2"/>
<path d="M 30,75 Q 150,140 270,75" fill="none" stroke="#2ecc71" stroke-width="2"/>
<path d="M 30,75 q 120,-65 240,0" fill="none" stroke="#9b59b6" stroke-width="2"/>
<path d="M 100,180 Q 40,100 100,20 Q 160,100 100,180" fill="#2ecc71" stroke="#27ae60" stroke-width="2"/>
<line x1="100" y1="180" x2="100" y2="20" stroke="#27ae60" stroke-width="1"/>
<path d="M 100,100 Q 60,60 100,20 Q 140,60 100,100" fill="#e74c3c" stroke="#c0392b" stroke-width="1"/>
<path d="M 100,100 Q 140,60 180,100 Q 140,140 100,100" fill="#e74c3c" stroke="#c0392b" stroke-width="1"/>
<path d="M 100,100 Q 140,140 100,180 Q 60,140 100,100" fill="#e74c3c" stroke="#c0392b" stroke-width="1"/>
<path d="M 100,100 Q 60,140 20,100 Q 60,60 100,100" fill="#e74c3c" stroke="#c0392b" stroke-width="1"/>
<circle cx="100" cy="100" r="10" fill="#f39c12"/>
<path d="M 30,120 Q 100,20 170,120" fill="none" stroke="#3498db" stroke-width="2"/>
<polygon points="170,120 155,110 160,125" fill="#3498db"/>
<rect x="20" y="20" width="160" height="80" rx="10" fill="#3498db"/>
<path d="M 50,100 Q 30,130 60,120" fill="#3498db"/>
连续使用Q命令绑制曲线,每个控制点独立控制一段曲线。
<path d="M 30,75 Q 60,20 90,75 Q 120,130 150,75 Q 180,20 210,75 Q 240,130 270,75" fill="none" stroke="#3498db" stroke-width="2"/>
| 场景 | 推荐命令 |
|---|---|
| 简单弧形 | Q |
| S形曲线 | C |
| 连续平滑曲线 | Q + T 或 C + S |
| 需要精确控制 | C |
| 快速绑制简单图形 | Q |
二次贝塞尔曲线的特点:
Q命令适合简单图形和快速原型设计。