見かけの交点

Japanese forum
takabo
Posts: 6
Joined: Sat Apr 08, 2017 9:16 am

見かけの交点

Postby takabo » Wed Jun 28, 2017 1:04 pm

ある立体に向かって進行する別の立体があります。
この二つの立体がぶつかるとき、立体のどの部分が
最初に接触するのか、を知りたいのですが、何か方法はあるでしょうか?
一般的なCADでは高さの違う図形の見かけの交点(もちろん、視点を固定しての場合)を
求める機能があったりしますが、FREECADにもそのような機能があるのでしょうか?
あればその機能を応用して求めることができそうなのですが・・・。
ご存知の方がいらっしゃいましたら、ご教示願います。
User avatar
h.tsubota
Posts: 37
Joined: Mon Mar 21, 2016 2:09 pm

Re: 見かけの交点

Postby h.tsubota » Fri Jun 30, 2017 3:26 pm

「見かけの」というのがどういう意味なのかわかりませんが、ブーリアン演算で交差を取って結果形状の体積をとれば形状が交差しているかどうかはわかるのではないでしょうか。

例えば形状「Box」と「Sphere」が交差しているかどうかは以下の様なPythonマクロで判定できると思います。
もし交差していれば交差形状の重心(.CenterOfMass)を取ればおおよその位置はわかるかと思います。

Code: Select all

App.activeDocument().addObject("Part::MultiCommon","Common")
App.activeDocument().Common.Shapes = [App.activeDocument().Box,App.activeDocument().Sphere,]
isIntersect=(App.activeDocument().Common.Shape.Volume > 0)
if isIntersect:
    print(App.activeDocument().Common.Shape.CenterOfMass)
ただし3次元形状が接触する場合は必ずしも点でなく、線や面で接触することもあるのでその点は注意が必要です。
takabo
Posts: 6
Joined: Sat Apr 08, 2017 9:16 am

Re: 見かけの交点

Postby takabo » Mon Jul 03, 2017 1:32 pm

ちょっとづつ動かしながら接触しているかどうかを判定する、ということでしょうか。
考えていたのは、稜線同士が一点でぶつかる場合ということでした。
もうちょっと考えてみます。
ありがとうございました。