SVGについて – パス(2次ベジェ曲線)について

javascript

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>

サーバ上のHTMLはこちら(test1.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>

サーバ上のHTMLはこちら(test2.html)

画面にアクセスすると、以下のベジェ曲線が表示されます。

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です