grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2019年12月27日金曜日

クォータニオン / Quaternion:立方体の回転操作(その3)

前回までは単位球に対する一点の回転操作でしたが、今回はもう少し具体的にということで立方体の回転操作を試してみました(基本的なクォータニオン回転操作についてはこちらへ)。
立方体の8個の頂点を個別に計算して回転操作しています。
また、scale変数で立方体の縦横高さの比率を調整できるようにし、pos変数で位置の基準点を変えられるようにしています。

手順としては:
・8頂点(ベクトル)のそれぞれのスカラー値を求める
・8頂点(ベクトル)をスカラー値で正規化
・正規化した8頂点(ベクトル)を回転操作
・正規化されている8頂点(ベクトル)をスカラー倍してもとのスケールに戻す

ipywidgetsでインタラクティブに角度を変えられるようになっています。また立方体の縦横高さの比率も変更可。
オンライン上で実行するにはBinderで可能です(方法についてはこちらを参考に)。

以下がコード(Gist):
・回転角度と立方体の縦横高さ比が変更可能なバージョン
・回転角度と回転軸(単位ベクトル)が変更可能なバージョン
の二つがあります。

関連:
クォータニオン(四元数) / Quaternion / 回転制御(その1)
クォータニオン / 回転制御(その2):二点間から単位ベクトルと回転角度を求める


四元数
四元数
posted with amazlet at 19.12.22
今野 紀雄
森北出版
売り上げランキング: 67,351

0 件のコメント:

コメントを投稿