らんだむな記憶

blogというものを体験してみようか!的なー

math-bezier

Adobe と PostScript と

https://www.adobe.com/content/dam/cc/en/leaders/pdfs/geschke.pdf そうかそうか、81 歳か。PARC を飛び出て、Adobe を創設して世に PostScript を送り出した。この辺の話は AMW|雑誌・書籍検索 『Adobe:Innovation これまでの25年、これからの25年』 だ…

2次ベジェ曲線と放物線

$P_0=(-1,1)$, $P_1=(0,0)$, $P_2=(1,1)$ で構成される2次ベジェ曲線が放物線になることを見る。 \begin{align} S(t) = (x(t),y(t)) = (1-t)^2 P_0 + 2(1-t)t P_1 + t^2 P_2 = (-1+2t,1-2t+2t^2) \end{align}を曲線とすると、これは $y$ 軸について対象であ…

B-スプラインとベジェ曲線

B-スプライン曲線 - Wikipediaを一応検証してみる。 2次のB-スプライン曲線が設定の条件下で2次のベジェ曲線に一致することを見る。 $n=2,\ m=6$ とするが、この6個のノットについて \begin{align} 0 = t_0 = t_1 = t_2 \end{align}という設定を置く。後はた…

Bezier曲線同士の交点

Bezier曲線同士の交点を求められると便利だなーと思いつつも面倒臭い。誰かやってないかなぁとggってみた。 bezier 0.5.0 : Python Package Indexが良さそうか? GitHub - dhermes/bezier: Helper for Bézier Curves, Triangles, and Higher Order Objectsが…

Bézier曲線と曲率

曲率の式なんか忘れたのでパクる。曲率と曲率半径 [物理のかぎしっぽ]より、 $x=x(t),\ y=x(t)$ なパラメトリックな曲線に対して以下が曲率 $\kappa$ となる。ここで曲線は2回連続微分可能とする、っと。 \begin{equation} \kappa = \frac{\left| \begin{arr…

ということで、Bézier曲線で囲まれた領域の面積とか(2)

ということで、Bézier曲線で囲まれた領域の面積とか - らんだむな記憶で面積計算のための式を導いた。が検証はしていなかった。 まぁ、計算とか苦手なんで間違っている可能性は大なのだが!すでに準備はできている。rubyとBézierと(2) - らんだむな記憶で十…

ということで、Bézier曲線で囲まれた領域の面積とか

もう計算とかできる歳じゃないし! - らんだむな記憶とGreenの公式と曲線の面積 - らんだむな記憶で準備したので。とりあえず3次の場合だけ求めとく。 $P_j = (x_j, y_j),\ 0 \le j \le 3$をコントロールポイントとすると、$t \in [0,\ 1]$をパラメータとし…

Greenの公式と曲線の面積

ベクトル解析30講 (数学30講シリーズ)の第16講に全部書いてあると言えばそれまでだが、Greenの公式を使って曲線で囲まれた領域の面積を求めることができる。正直Greenの公式を導く力量などないが、覚えやすくてとても便利なので、結果だけをふわぁ~っと覚え…

もう計算とかできる歳じゃないし!

うぉっ、最近は凄いな。 不定積分や定積分とかWebで計算できるんだなぁ。 Online Integral Calculator • Find Integrals and Antiderivatives! Integral Calculator: Wolfram Mathematica Online Integrator Definite Integral Calculator - Symbolab Wolfra…

2次Bézierと3次Bézier

コントロールポイント$Q_0,\ Q_1,\ Q_2$からなる2次Bézier曲線は実は厳密に、ある3次Bézier曲線として実現できる。その3次Bézier曲線はコントロールポイント$P_0,\ P_1,\ P_2, P_3$からなるとして、パラメータを$t$として、素朴に以下の等式を考える。 \begi…

de Casteljau's algorithm

面倒臭そうだったので、ずっと放置していたが、Bézier曲線のde Casteljau's algorithmに触れてみた。 実際に計算したらそんなに面倒臭くもなかった。 Paul de Casteljauという物理学者にして数学者なフランス人によるらしいのだが、"ポール・ドゥ・カストゥ…

曲線の交点2

さて、曲線が$y = f(x),\ y = g(x)$の時は良いのだが、パタメータ表示されている場合が面倒くさい。簡単のためにパラメータの動く範囲を有界閉区間に制限して \begin{equation} p(s) = \{ x_1(s),\ y_1(s) \},\ 0 \le s \le 1,\ q(t) = \{ x_2(t),\ y_2(t) \…

曲線の交点

高校とかでよく曲線の交点を求めよなんて問題が出たものだ。 単純なものでは、2次元平面内の曲線 \begin{equation} y = f(x),\ y = g(x) \end{equation} の交点を求めるというもので、$y$同士を等号で結んで$f(x) = g(x)$として、$x$についての方程式を解く…

3次Bézierスプライン曲線の極値

3次Bézierスプライン曲線の極値を求めたい。あるセグメントが \begin{equation} P_0 = (x_0, y_0),\ P_1 = (x_1, y_1),\ P_2 = (x_2, y_2),\ P_3 = (x_3, y_3) \end{equation} から定まるとする。 この時、セグメントは \begin{equation} \ell(t) = (1-t)^3 …

ますますBézier曲線

TrueTypeフォントとか滑らかなやつはベクターデータで書かれていたりする。 AppleのマニュアルDigitizing letterformsを斜め読みすると「Bezier quadratic curves」なんて出てくるし、 \begin{equation} p(t) = (1-t)^2 p_{0} + 2t(1-t) p_{1} + t^2 p_{2} \…

Bézier曲線

なんか、svgタグでパスが書けちゃうらしいので実験。 とりあえずパス – SVG 1.1 (第2版)でも参考にしてみる。 ははぁ、随分楽に描ける。 <svg width="5cm" height="4cm" viewBox="0 0 500 400" xmlns="http://www.w3.org/2000/svg" version="1.1"> <path d="M 0,100 C 0,200 200,200 200,100" fill="none" stroke="red" /> </path></svg>