>>Delta

bezierdraw() の妄想話

2008年1月 4日

bezierdraw() の妄想話

初詣行ってきました。 CASPAR003 です、こんばんは。おみくじ引いたら小吉だったけど、学業と旅と健康がわりと良いこと書いてあって何となく希望的です。

昨日思いついたスクリプトを書いてしまおうと思ったのだけれど、教科書類をみんな室蘭に置いてきてしまったので結局書けてません。ネットで調べるの面倒くさいし。

イメージとしては bezierdraw(f(x), [x]) みたいな感じで f(x) に [x] を順次代入して形状を描画していく感じ。コントロールポイント付近で微分を取ればハンドルの向きが決まる。長さは1/3規則とかで決めた方が簡単だし綺麗そう。生成された形状が戻り値で返ってくる。

詰まってるのは

  • 引数に関数を指定する方法と型チェック
  • 引数にタプルを渡す方法と型チェック
  • コントロールポイント付近での数値微分
  • 1/3規則のアルゴリズム

要するに全部。一つだけアルゴリズムが決まってないやつは、教科書とか関係ないのでこっちにいるうちにできるかも。

あと、今のところ end_creating() すると出来上がった形状がアクティブになっている事を利用して、直後に active_shape() で形状を拾う方法を採用しているのだけれど、これだと万が一処理が割り込んでアクティブなオブジェクトが変わってしまうと受け渡しに失敗しそうな気がするので、作ったオブジェクトを名指しで指定する方法があればそうしたい。

光の色とかフレネルのやつも含めて、便利グッズを一つのクラスにして提供できたら良いなと。スクリプトを直に使ってもらうというより、スクリプト開発者さんに使ってもらえそうな裏方ツールを作る方が楽しそう。

もしかして、そういうのはみんな自前ライブラリで持ってるもんなんですか?

投稿者 CASPAR003
投稿時刻 22:34
カテゴリー Shade
コメント 2 件
トラックバック 0 件
記事へのリンク http://www.caspar003.info/delta/archive/2008/01/04/2234.html
コメント
投稿者
コメント
でった☆

自分用のライブラリは確かにもっていますが、そのような機能のものは、わたしは持っていません。他の人は知りませんが。

CASPAR003

でった☆さんのライブラリに加えてもらうチャンスかも!?

トラックバック
  • トラックバック

ブログ情報

カレンダー
2018年2月
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
最近のエントリー
最近のコメント
コメントを頂いたエントリー
コメントをくださった方一覧
コピー用紙の裏表
でった☆
CASPAR003
あのー
CASPAR003
amumo
CASPAR003
mariko
kazu
お仕事で青ざめた話
iun
iun
CASPAR003
AcrobatでPDFの一括印刷
Caesar
CASPAR003
Shadeのレンダラー仕様メモ
iun
CASPAR003
ブログ同盟本 C87 3日目 東S-04b
CON$
CASPAR003
Ca3 Post_Effector 2.0
sisioumaru
CASPAR003
sisioumaru
CASPAR003
Shade15について雑感
iun
CASPAR003
iun
色について
iun
CASPAR003
Lv67
iun
CASPAR003
雪まつり行ってきたよ
iun
CASPAR003