談話室の方でちょっとお話した件です。
マクロそのものの質問では無くてすみません。
やりたいこと。
角度を持ったオブジェクトを、指定した点を中心にて、オブジェクトの角度が「0度」になるようにしたい。
伝わりにくいので簡単ですが画像を添付しました。
(実際は水平線や傾き線は存在しません)
①オブジェクト(四角形:ブロック)を選択 (仮に20度の傾き)
②基点を指定(赤丸)
③オブジェクトの持つ角度が0度になるように、基点-20度回転する。
疑問。
単純発想で、
①傾き角度をオブジェクトから読み取る
②基点を軸にして、オブジェクトを①で読みだした角度分マイナス方向に回転させる。
とした場合、精度的に厳格な「0度」になるのか?
元は傾きなし四角形ブロック。
それが傾いていたとき、処理した結果で四角形を分解した後、水平線が完全な0度になって欲しいのです。
想像できる方法でほぼ0度にはなるでしょうから、最後に改めて直接角度「0」を指定して割り切ろうか、と逃げ思考に入りつつありました。
回転だとUCSをなんちゃらすれば・・・(思考続かず)
参照を伴う方法で対応できそうとのお話も頂いてましたが、オブジェクトと基点を指定する操作の中にどう盛り込んだらいいのか、そこの発想にまで至っておりません。
理想の動作をする手法がわかったら、Lispで作ってみようかなと思っていました。
(Lispは触り始めた初心者です。)
長くなりましたが、
処理の手法についての考え方についてアドバイス、指摘いただければと思い投稿させていただきました。
よろしくお願いいたします。
指定点によるオブジェクト「0度」にする移動の考え方