FSL基本講座08

今回は編集系ツールの超基本!移動、回転、スケールなどのジオメトリック変換についてです。
ジオメトリック変換の方法は2つあります。
fz_objt_edit_move_objt() など専用の関数を使う方法と、fz_objt_edit_transform_objt() を使う方法です。
方法1.
移動、回転、スケールにはそれぞれ専用の関数があります。
fz_objt_edit_move_objt()
fz_objt_edit_rotate_objt()
fz_objt_edit_scale_objt()
サンプル1

test1_zip.txt
これらの関数の使い方は非常に簡単ですが、 "回転" と "スケール" に関して "任意の基点" を指定できないという問題があります。(問題というか仕様です...。)
サンプルをテストしてみればすぐわかりますが、これだと使い方が限定されてしまいます。
方法2.
回転の軸の位置や、スケールの基点を指定したい場合は fz_objt_edit_transform_objt() を使います。
サンプル2
個別に変換します。

test2_zip.txt
matrixという特別な変数に変換情報を入れてfz_objt_edit_transform_objt() に渡します。
また、任意の表示平面上でのジオメトリック変換をおこなう際にも、matrixを使うと絶対ワールド座標との相互変換が可能です。(つっても、これ結構難しくて自分もまだよく理解していません...。)
ちょっとわかりづらいですが、とにかくこっちのほうが応用が利きます。
次回はオブジェクトの属性についてです。
コメント
お〜
年度末でしばらく忙しくて、久々のぞいたら・・・・すんごい事やってますね・・・かなり心配りして丁寧に書いていただいてるのがわかります・・・・世界をさがしてもここだけ〜てな感じですね!!こりゃGWとか少し前のチュートリアルも含め時間を取ってチャレンジしてみたいと思います!
>>山形市のユウキさん
ぜひ、やってみてくださいね。
ぜひ、やってみてくださいね。
コメントの投稿
トラックバック
http://zsurfer.blog8.fc2.com/tb.php/770-6c5c8eed


