パート1:
どうやって
for i = 1 To polyop.getNumEdges $ do
(
append faces ((polyop.getfacesusingedge $ #{i}) as array)
if faces[i][2] != undefined then
(
f1 = polyop.getfacenormal $ faces[i][1];
f2 = polyop.getfacenormal $ faces[i][2];
)
)
meshopを使用して見て?
このコードは、編集可能なポリゴンからすべてのエッジを読み取り、簡単にアクセスできるようにエッジで接続している面を面に追加し、法線を取得します。
問題は、以前はオブジェクトが編集可能なメッシュだったことです。ep に変換した後、何らかの理由で面の数が少なくなります。オブジェクト全体を三角形のみで構成する必要があるため、変換によっていくつかの三角形がポリゴンに結合されているように見えるため、このアプローチは使用できません。
パート2:
私には機能があります
fn getAnglebetweentwoFaces face1 face2 =
(
--theAngle = acos(dot face1 face2)
theAngle = acos(dot (normalize face1) (normalize face2))
return theAngle
)
これは「うまく」機能します。2つの面の間の角度を教えてくれますが、2つの面がオブジェクトの一部であるか外側であるかを知る必要があります。それ、どうやったら出来るの?
前もって感謝します。
編集:追加しました
if face2Coord < 0 then
(
normAngle = 360 - normAngle
)
normAngle = 180 - normAngle
return normAngle
あなたの関数に、内角のマイナス値と外角のプラス値を取得するようになりました