• ベストアンサー

3D角度を求めたい。

下図の原点ポイント黒からポイント青への角度 XYZ を算出するにはどうすれば良いです か? 図の線赤の斜辺の長さは計算できました。 可能であれば AfterEffects のエクスプレッションで解説いただきたいのですが、他のスクリプトでも大方同じような関数はあると思うので、他の言語でも問題ありません。 ご教授よろしくおねがいします。 ( atan2関数などいろいろやってみたのですがダメで、もう1日以上やって行き詰まっております。大筋でどのようにすればよいかだけでも構いませんのでよろしくお願いします。)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

求めたいことを誤解していたら、お許しを。 青丸の座標を(x,y,z)。黒丸の座標を(0,0,0)とします。 赤線の長さはsqrt(x^2+ y^2,+z^2)。赤線とその面への投影線分の角度を求めたいのですよね?その角度をtとすると、sin(t)=z/(sqrt(x^2+ y^2,+z^2))。arc sineが使えるとして、t=arcsin(z/(sqrt(x^2+ y^2,+z^2))ですが、、、

pupPeTear119
質問者

お礼

書き込みありがとうございます。 書き込み頂いたことを参考にチャレンジしてみます。 多少時間もかかりそうなので、先にお礼を書き込みさせていただきました。

関連するQ&A

  • エッジの角度について

    こんにちは。 私はOpenCVでCannyのエッジ検出をやっています。 Cannyの関数の中身を見ていたのですが、角度の算出方法が分かりません。 エッジの角度を求める方法として、あるサイトでθ=atan(gy/gx)とありましたが、θのとる値の範囲もよくわからず、またCannyの関数の中でもそういった式はまったく出てこず困っています。 エッジの角度を算出する方法をご存知の方、ぜひ教えてください。 よろしくお願いします。

  • 三次元座標の回転角度

    左手系三次元座標A(X,Y,Z)がB(x,y,z)に移動したとき、原点からみたZ軸の回転角度Θの算出は、 Θ=Atan(y/x)-Atan(Y/X) でいいですか。よろしくお願いします。

  • 直角三角形の斜辺の長さの求め方(三角関数)

    直角三角形の直角を挟む2辺の長さが与えられている場合。例えば、30と15の場合、残りの小さい方の角度はatan(15/30)で約26度と求まる事までは思い出しました。ですが、もう一辺(斜辺)の長さの算出の仕方を思い出すことができません。関数電卓あるいはエクセル関数での求め方をご教授下さるようお願いいたします。

  • エクセル、VBAで図形の回転角度指定?

    こんにちは。 直角三角形をその片方の鋭角分回転させるというマクロを作成したいと思っているのですが、 なかなか上手くいかずご教示いただければと思い投稿いたしました。 選択図形をb度回転させるには Selection.ShapeRange.Rotation b(数値)で良いのだと思うんですが、 bに鋭角の角度を指定する方法がわかりません。 鋭角を求める式はエクセル関数では 「斜辺と辺 X の間の鋭角の角度:α = DEGREES(ATAN(y/x))」で求められんのですが、 この角度をbに指定したいんです。 私がVBAに詳しくないので、いろいろ試してみてもどこが間違っているのかさえわからなくて・・・ Selection.ShapeRange.Rotation=Application.WorksheetFunction.Degrees(Atan(y/x)ではエラーになってしまいます。 鋭角の角度を数値として認識してないんでしょうか? 原因がおわかりになる方がいらっしゃいましたら、ぜひご教示いただきたく存じます。 よろしくお願いします。

  • 3次元からの視野角

    3次元の座標変換で困っています。 x,y,z座標で (0,0,100)から周囲を見渡した場合、 z = 0平面で xy原点から、等距離にある位置への 角度はatan2で簡単に算出できると思います。 しかし、(0,0,100)の人が傾いた場合、xy原点から、等距離にある全周への傾いた人からの角度は、どうやったらもとまるのかなやんでいます。。。 傾いた人の背後、正面は、正面はそれぞれ、傾いた分だけ 変化するのはわかるのですが。。。 もしご存知のかたがいらっしゃいました教えてください。

  • 回転した座標軸と一致させるための回転軸と角度の算出

    こんにちは。お知恵をお借りしたく質問致します。 プログラミング中で出た話題なのですが、計算の問題ですので数学カテゴリが適しているだろうと思い、投稿いたします。 ちょっと説明しにくく図を添付致しましたので併せてご覧いただければと思います。(線がふるえていて申し訳ないです。) 図のように、xyz座標を回転してXYZ座標の向きに一致させたいと考えています。 また、「指定した軸(α,β,γ)を回転軸としてθ度回転する」という関数があるので、それを活用しようと考えています。α,β,γはコサイン値(方向余弦)です。回転方向は、ベクトルの向きに時計回り…右ネジの法則みたいな感じです。 x軸から見たXの角度(θxX), y軸からのX(θyX), z軸からのX(θzX) 同様にx軸から見たY(θxY),θyY,θzY、θxZ,θyZ,θzZ といったように、それらの角度(コサイン値)は分かっています。 (=xyz座標からみたXベクトルの方向余弦、Yベクトルの方向余弦、Zベクトルの方向余弦が分かっている。) z軸とZ軸の外積を取ったベクトルを回転軸として、θzZが分かっているのでその角度で回転することでZ軸は一致しますけど、XY軸は合いません。(当然ですが…) そのXY軸を合わせるためにまた回転するというのも遠回りで、任意の軸1本を中心に何度か回転するだけ(上記関数を1度使用するだけ)で、必ず向きが一致する解があると思うのですが、その任意軸と角度を算出する方法が分かりません。 一般にどういう計算をするのでしょうか。アドバイスいただければ幸いです。 なお、上記関数を用いない方法でも構いません。 「X軸(Y軸、Z軸)を回転軸としてφ度回転する」という関数もあるので、オイラー角を求める方法でも構いません。 その他、説明不足な点がありましたら随時追記致しますので、ご指摘願います。 どうかよろしくお願いいたします。

  • この図形の辺の長さまたは角度を知りたいです

    この図形のa, b, tは分かっている値です。 板厚tの板を寸法a, bに曲げたものを イメージして下さい。板のカドは直角です。鈍角曲げなのでθは 0≦θ≦90度です。 x1, x2, x3, x4, θのどれかが知りたいです。どれかが分かれば他はCADで作図できますので、 一番容易に算出または作図できるものをお願いいたします。 自分でやってみたこと  ・CADで線、円、接線などで作図しようとしましたら・・・行き詰まりました。  ・上の三角形と下の三角形は相似だから・・・・行き詰まりました。  ・点Oを原点とし、傾き??の直線と直交する線の交点の座標が・・・・行き詰まりました。 ・x1 = x4sinθ, x2 = tcosθで足したものが bだから三角関数の合成で・・・・行き詰まりました。 いろいろやってはみたのですが結局行き詰まりました。実際のものづくりでは適当にごにょごにょ して完成させてしまうので深刻に困っているわけではないのですが、どうもスッキリしなくて 困っておりますので教えて下さい。よろしくお願いします。

  • 三角関数計算方法

    円弧を使用した曲線計算を行っております。 手計算にて cos(θ/2)=(360-3*2πθ)/360 ※π=円周率=3.14  θ=算出したい角度 とここまで計算しましたが、ここからθを求めるところへ行けません。 他サイトでエクセルで計算できるとも書いてあったのですが、どのような関数を使用したのか分からず煮詰まっています。 御助言お願い致します。 申し訳ありません。上記計算を間違えました。 手計算にて cos(θ/2)=(360-0.3πθ)/360 ※π=円周率=3.14  θ=算出したい角度(deg) でした。 申し訳ありません。

  • 入力した座標を元に関数を作成してくれるソフト

    入力した数点の座標から、その点を通る関数を導き出してくれるソフト。または、手入力で引いた曲線から、その曲線にだいたい一致する関数を算出してくれるソフトをご存知の方がおられましたら、教えてもらえないでしょうか。宿題をとくためとか、そういった使い方ではないので宜しくお願いします。 今、原点を通り座標3点を通る曲線を求めているのですが、最小二乗法でとくと確かにいい線いっているのですがフィットしない曲線になり、苦労しています。多少、飽和ぽい曲線でして、この数式がわかると測定していない他の個所の値も推察でき、実測値と比較することでよりよい発展性があるかもと思っているのですが、どなたか算出系のソフトでお心当たりありましたらお願いします。

  • 万有引力による回転運動

    この問題についての疑問をどなたかご教授ください。 長さ2lの水平な某とその両端につけた質量mの質点A、Bから構成される重りを考える。棒の中心が天井からワイヤーで吊るされており、Oを原点とし、水平方向にx軸、y軸をとる。棒の変形と質量は無視で、重りは水平面内でOを中心に回転できるとする。重りが角度θ回転した時にワイヤーのねじれによるモーメント(トルク)-kθ(k>0)が働くとする。以下の問いに答えよ。 図に示すように質量Mの質点C、Dが、x軸上に原点から距離L(L>l)の位置に置かれてある。重りには万有引力とワイヤーのねじれによるモーメントが働く。質点AとCとの、BとDの間の引力に比べて質点AとDの間、質点BとCの間の引力、ワイヤーのねじれによる力が小さいとして無視し、重りの回転運動に関する運動方程式と周期を導け。ただしθは微小角度であり、θの2次以上の項は無視せよ。 (疑問) 万有引力によるモーメントを求めるということなので,各質点同士に働く万有引力のy方向成分を算出するしてlとの外積をとると思うのですが,y方向成分を算出するための角度がどうしても求められません。どのようにしてその角度を求めるのでしょうか?もしくは,他に方法があるのでしょうか?

専門家に質問してみよう