PostScriptフォント=ベジェ、TrueType=Bスプラインというよくある誤解について
@ksmakoto ありがとうございます。ある条件で、2次Bスプライン曲線と2次ベジェ曲線、3次Bスプライン曲線と3次ベジェ曲線は同一になるということでしょうか? @KANOU
2014-12-18 12:52:55@ogwata 「実は、・2次ベジェ曲線・2次 B-スプライン曲線の2つは同じものです。」koujinz.cocolog-nifty.com/blog/2009/05/p… 数学的な証明はこの先にありそうですがリファレンスリンク切れ。 en.wikipedia.org/wiki/Spline_(m…
2014-12-18 13:08:45@ogwata @KAN0U 直感的にわかりやすい説明がありました。引用「平たく言うと、Bezier曲線の集合体として表現される曲線で」 o2-inc.com/publicity/medi…
2014-12-18 13:13:07@ksmakoto ご教示の記事 o2-inc.com/publicity/tech…拝読。一定の条件下でベジェ曲線とBスプライン曲線が重なる(のか包含かは措くとして)ことは確かとしても、TrueTypeフォントの曲線としてはやはり2次ベジェ曲線が相応しいように思います。 @KAN0U
2014-12-18 14:45:34@ogwata 仕様にある表現をそのまま使うのが無難というか、基本、ということで同意します(実際上同じかどうか、という議論とは別に)。
2014-12-18 15:52:45@ogwata @ksmakoto TrueTypeの点の与え方は基本Bezierですが、BスプラインのようなG2-連続な曲線を効率良く描くための拡張もあります( twilog.org/KAN0U/date-110…参照)。その一番下のリンクにありますが、どっちにしろ曲線の形は放物線です
2014-12-18 21:45:023年前の記述
この部分だけ見れば2次B-スプライン曲線の定義に従ってデータが格納されていると言えます。さらに重要な性質は bit.ly/n4rnsz と bit.ly/oIk4ya で、曲線の自由度が低いためTTFではOTFより曲線を細かく分けて作る必要があります。
2011-08-18 18:59:212次Bスプラインは bit.ly/odUVkv の2つめのJavaアプレットを見ると分かりますけど、各control pointの中点に点を補えば2次ベジェ曲線になって、両者の関係は自明ですね。但し、形式的にはTTFはon-curve pointとoff-curve
2011-08-18 18:27:56pointの2種類の点から構成されていて、on-onと並んでいたら直線で、on-of f-onの順で並んでいたら2次ベジェ曲線で結ぶことになっているというだけの話です。TrueTypeでは「off-offという並びがあるときは、その中点にon点が有るものと見なす」という規定もあり
2011-08-18 18:37:59@KAN0U はい。Bスプラインという語を説明に使わなかった理由はわかりませんが、仕様の「Such a curve is shown in FIGURE 2.」から後の説明は要するにBスプラインと同じことですね。p2とすべき所がp3になってたり、図が欠けてたりでわかりにくいですが
2014-12-18 22:02:55@ksmakoto 最初に「TrueTypeの曲線は二次Bスプライン」と言った人は、そこまで解っていて簡単に言ったのかもしれませんね…。
2014-12-18 22:09:42そうかMathWorld様を見るという手があったんだ。MathWorld様だと「A B-spline with no internal knots is a Bézier curve.」と表現している
2014-12-18 19:04:34授業でNURBSの「重み」の直感的な解釈を聞いたはずなんだが、確か忙しかったか何かでちゃんと課題をやらなかったのでちゃんと覚えてないんだよなぁ...
2014-12-18 19:10:30(たぶんこの曲線をベースにした曲面だと、反射像が滑らかに変化するとか、そういう特性が得られる、ということをもって「美」としているようだ)
2014-12-18 19:44:58