太さの変わるBezier曲線の生成 - その17 [考え中 - 太さの変わるBezier曲線]
仕事が忙しくてなかなか進まない。Bezier曲線で一般の曲線を近似する問題。
前回曲線の近さの都合のいい定義を与えるために、近似対象の曲線から垂直に引いた線のBezier曲線との交点までの長さの曲線に沿って積分した値を「距離」とみなした。これを最小化することで近似を得ようと考えた。近似対象の曲線が媒介変数で表わされていて、微分可能ならこの積分は(少なくとも数値的には)実行可能であることがわかった。またこれなら面倒な場合分けをする必要もなく、安定(安定性の検証はしてないけど、まあ問題ないでしょ。積分だし)。今日はこの続き。
太さの変わるBezier曲線の生成 - その16 [考え中 - 太さの変わるBezier曲線]
仕事が忙しくてなかなか進めることができない。しばらく触らないでいると何やってたかすぐ忘れてしまう。中途半端だけど、ちょっとでも書き進めることにする。こないだたどり着いたオフセット問題はBezier曲線で一般の曲線を近似するという問題に帰着することがわかった。その続き。
太さの変わるBezier曲線の生成 - 追記 [考え中 - 太さの変わるBezier曲線]
全部出来上がってからではなくて、考える過程を残しているせいで、冗長でくどかったり、逆に舌足らずで説明不足だったりする。さらにとちゅうでノーテーションが違ってしまったりする。見てくださっている人には申し訳ないけど、しょうがない面もある。くどい部分は聞き流してもらうとして足りない部分は突っ込んでいただきたい。間違ってなければ補足するし、突っ込んでもらったおかげで間違いに気がつくこともある。
今回は、宿題の回答の中で質問をもらったのでそれに答える。
太さの変わるBezier曲線の生成 - その15 [考え中 - 太さの変わるBezier曲線]
前回でBezier曲線のオフセット問題(カリグラフィの処理)は、任意のなめらかな曲線をBezier曲線で近似するという問題に帰着することがわかった。これはゆっくり考えないと解決しない。
この問題を進める前に別の実験をしておこう。似たような数学ばかりが続いてしんどくなってきたので気分転換にCocoaではマウスをドラッグしたときにどんな頻度で位置情報が得られるのか調べてみる。たまにはコードも書かないとすぐやり方を忘れるし。
太さの変わるBezier曲線の生成 - その13 [考え中 - 太さの変わるBezier曲線]
もらった宿題
- ベジェ曲線同士の交点の取得方法
- ベジェ曲線内のX、Y座標の最大値の取得方法
- ベジェの(単純な)オフセットの方法
宿題の最後、Bezier曲線のオフセットについて。これは難しい問題が含まれていることがわかった。
太さの変わるBezier曲線の生成 - その12 [考え中 - 太さの変わるBezier曲線]
こないだから考えてるタブレットでPhotoshopのブラシの線を描いたようなBezier曲線を生成するソフトを作りたいという話に対して、こないだもらった宿題を考えている。今回は
- ベジェ曲線内のX、Y座標の最大値の取得方法
太さの変わるBezier曲線の生成 - その11 [考え中 - 太さの変わるBezier曲線]
こないだから考えてるタブレットでPhotoshopのブラシの線を描いたようなBezier曲線を生成するソフトを作りたいという話についてコメントを頂いたうたひこさんから宿題をもらった。その宿題とは
- ベジェ曲線同士の交点の取得方法
- ベジェ曲線内のX、Y座標の最大値の取得方法
- ベジェの(単純な)オフセットの方法
でもいずれ解決しなければいけない問題なのでここでこの宿題を先に考えたい。まず、ベジェ曲線同士の交点について。