C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

メッシュの六角形分割に挑む11

こちらの続きです。
メッシュの六角形分割に挑む10 - C#ATIA

六角柱を配置する為の中心点を求めているのですが、進まなく
なってます・・・。ベクトルやらマトリックスの数学的な部分で。

f:id:kandennti:20211008103618p:plain


メッシュボディに対して、バウンダリボックスの取得は以前作ったもので
機能しています。
それに対して、六角柱の配置はバウンダリボックスよりちょっと
大きいぐらいに配置したいのですが、なんだかイマイチです。
(最初はもっとひどかったのです。)

どうしても思うような結果にならない為、原因を探っていたのですが、
マトリックスを作成する際、三次元ベクトルの外積を行っています。
別に難しいことじゃなくて、Fusion360APIでは用意されています。
help.autodesk.com
僕の中では、
"並行しない2個の三次元ベクトルの外積は、直交するベクトルが得られる"
と思ってます。(合ってますよね?)

この直交するベクトルは、三次元CADの場合は常に右手系で返してくれると
思っているのですが、左手系で返って来ている事が発覚。
外積に左手系ってあるの?” と思ったら有るらしい。
右手系3次元座標とベクトルの外積の定義と公式 - Irohabook

CATIAの時は、三次元ベクトルの外積(自作関数)は常に右手系で返してくれる
ので、座標系が右手か左手かを判断出来たので・・・どうやって判断すれば良いのかな?
挫折しそう。