SVGについて – パス(2次ベジェ曲線)について
2次ベジェ曲線について
前回の投稿は3次ベジェ曲線でしたが、今回はパス(2次ベジェ曲線)の使い方について、調べてみます。
2次ベジェ曲線は「Q」コマンドを使って指定します。
3次ベジェ曲線は制御点を2箇所持ちましたが、2次ベジェ曲線は制御点を1つだけ持ちます。
前回のサンプルを調整して以下のHTMLを用意しました。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>テストHTML</title>
</head>
<body>
<svg width="300" height="250" viewBox="0 0 300 250">
<path
d = "M 10,10 Q 160,240 290,10"
stroke = "#4f4f4f"
stroke-width = "1"
fill = "transparent"
/>
</svg>
</body>
</html>
画面にアクセスすると、以下のベジェ曲線が表示されます。

ポイントとなる点は、dのパラメータの値です。
d = "M 10,10 Q 160,200 290,10"
まず、最初の「M 10, 10」で、曲線の始点を決めています。
次に「Q 160,200」で、始点から次の曲線までの座標(制御点)を決定し、
その制御点から終点への座標への曲線を決定しています。
2次ベジェ曲線について – 複数の制御点を持つ場合
2次ベジェ曲線の制御点を組み合わせることができます。
制御点を組み合わせる場合は Tコマンド を使います。
下記サンプルを用意しました。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>テストHTML</title>
</head>
<body>
<svg width="300" height="300" viewBox="0 0 300 300">
<path
d = "M 10,150 Q 50 10, 150 150 T 290,150"
stroke = "#4f4f4f"
stroke-width = "1"
fill = "transparent"
/>
</svg>
</body>
</html>
画面にアクセスすると、以下のベジェ曲線が表示されます。

今回はシンプルな例でしたが、状況に合わせて制御点を追加してベジェ曲線をコントロールします。