ねこだいすき


by toro_toro_toro
カレンダー
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

ベジェ曲線に遊ばれる

f0021803_6133350.gif

グラフィックソフトなどで描画する際の線で「ベジェ曲線」というものがあります。
これは2つの点とそれに付属するハンドルを調整することにより
なめらかな曲線を簡単に描くことができ、非常に便利です。

今日、とある事を思いついてそのベジェ曲線を実装したくなりました。
実装するには仕組みを調べないと、と検索するとwikipediaにありました。
なんとルノーの技術者が考案したものだったとは・・・
てっきり数学者が作ったものだとおもってたよ。

で、仕組みは驚くほど簡単。
始点と終点とそれぞれのハンドルの頂点の座標さえ決まれば、あとは簡単に求まる。
というわけで引数8つの関数をちゃちゃっと作りました。
ブラウザで実装したかったのでJavascriptで。
ところがどっこい、Javascriptではlineを引くってのができません。
なので1dotのimgをdiv要素として追加していく・・・とかいうのも思ったんですが
どう考えても重い。
うーむ。SVGはFirefoxならいいけど、IEじゃあプラグインいるしなぁ・・・
とか思ってたらActiveXを利用したらなにやらlineが引けるらしい!
調べまくって作ってみたらできた!

よーしじゃあこれを元にしてあそこをこういじってこうやって・・・
とか考えつつ風呂に入る。

で、出てきてさっきのグーグルの検索結果をふと見ると
なにやら見慣れないものが。
ベクトルマークアップ言語(VML)
・・・SVGとどう違うんだろう。
VMLの説明を読んでみると・・・・!!!!!!
『curve エレメント このエレメントは、3次ベジェ曲線を描画するために使われる。』
Σ(0△0|||)ギャァァァァアアアア
VML使ったら関数作らんでも簡単ササッとできちゃうのかー!!!
なんだこの無駄に苦労した時間は!

無駄だったことがわかって一気に疲れがでたので寝ます_|\○_
[PR]
by toro_toro_toro | 2006-03-30 23:59 | 技術あれこれ