マスログ

ベジェ曲線のパラメータ表示

公開日

2025年1月31日

更新日

2025年3月9日

前回、前々回の動画で解説したベジェ曲線のパラメータ表示を求めてみます。

※前提知識として、高校数学の以下の単元を仮定しています。

・位置ベクトル

・内分の公式

●講師紹介:松中宏樹

https://wakara.co.jp/instructor/hirok…

●和からHP

https://wakara.co.jp/

#数学

#desmos 

#ベジェ曲線

汚いプログラムからの脱却

前回の動画では、ベジェ曲線の作り方 を紹介しました。

Desmos を使って、点の内分 を繰り返しながら 曲線 を描く方法でした。

でも、正直あのプログラム、汚かった ですよね。

コードが長くて見づらい計算が重複している

なんだか 美しさがない プログラムでした。

そこで今回は、もっと数学的に綺麗な方法 で、

ベジェ曲線を表現 してみたいと思います。

数式 を使うことで、シンプルで美しい ベジェ曲線の パラメータ表示 が可能です。

 

ベクトル表記で考える

ベジェ曲線4つの制御点 にあります。

P0, P1, P2, P34つの点 を使って、

曲線の形決まる のですが、

これらの点を ベクトル だと考えましょう。

例えば、P0 = (1, 3) のように、

X座標Y座標成分 を持つ ベクトル です。

P0, P1, P2, P3 全てを ベクトル として扱うことで、

数式統一的簡潔書ける ようになります。

 

内分点の数式

まず、P0P1結ぶ線分 上を動く A0 を考えます。

A0P0 から P1 へ、

s対(1-s)内分 する点です。

これを 数式 で書くと、次のようになります。

A0 = (1-s) \cdot P0 + s \cdot P1

同様にして、A1A2 も表せます。

A1 = (1-s) \cdot P1 + s \cdot P2

A2 = (1-s) \cdot P2 + s \cdot P3

s0 から 1 まで動き、

s = 0 のとき P0 にいて、

s = 1 のとき P1移動 します。

 

二重の内分点

次に、A0A1結ぶ線分 上を動く B0

A1A2結ぶ線分 上を動く B1 を考えます。

B0A0A1 の間を 内分 する点で、

B1A1A2 の間を 内分 する点です。

B0 = (1-s) \cdot A0 + s \cdot A1

B1 = (1-s) \cdot A1 + s \cdot A2

二重内分 を繰り返しているのが わかります ね。

 

最終点 C の導出

最後に、B0B1結ぶ線分 上を動く C を考えます。

C動く軌跡ベジェ曲線 そのものです。

C = (1-s) \cdot B0 + s \cdot B1

これを 整理 すると、以下のようになります。

C = (1-s)^3 \cdot P0 + 3s(1-s)^2 \cdot P1 + 3s^2(1-s) \cdot P2 + s^3 \cdot P3

綺麗な形 になりました!

三次のベジェ曲線パラメータ表示完成 です。

パラメータ表示の意味

先ほどの 数式展開 してみると、

s三次式 が並んでいるのが わかります

これが 三次のベジェ曲線 と呼ばれる 理由 です。

さらに、P0, P1, P2, P3重み係数 に持つことで、

制御点位置曲線の形決めている のが 明確 です。

C = (1-s)^3 \cdot P0 + 3s(1-s)^2 \cdot P1 + 3s^2(1-s) \cdot P2 + s^3 \cdot P3

制御点動かす ことで、曲線の形変わる のが 理解 できます。

 

実際に描いてみる

Desmos他のグラフツール使って

この数式実際に描いてみましょう

P0, P1, P2, P3自由に配置 して、

s0から1まで動かす と、

滑らかな曲線描ける のを 確認 できます。

前回の内分を繰り返す方法今回の数式同じ曲線描かれる のを、

比較 してみるのも 面白い ですよ。

 

数学の美しさを感じる

ベジェ曲線パラメータ表示表現 することで、

内分の繰り返し一つの数式まとめられ ました。

長くて煩雑だったプログラム が、

たった一行の数式シンプル書ける ことに、

数学の美しさ感じます

次回 は、この パラメータ表示利用して

より応用的なベジェ曲線描き方紹介 します。

デザイン役立つテクニックお見せ しますので、

次回もお楽しみに。

新着記事

CONTACTお問い合わせ

個別講義や集団講義、また法人・団体向けの研修を行うスペース紹介です。遠人に在住の方や自宅で講義を受けたい方はオンライン講座をご用意しております。よくある質問はこちら