• 締切済み

関節角度の求め方

3点{A(x1,y1),B(x2,y2),C(x3,y3)}の角ABCを求めるには以下の方法でよいのでしょうか. AB=A長 BC=B長とします. =(A長X*B長X+A長Y*B長Y)/SQRT(A長X^2+A長Y^2)/SQRT(B長X^2+B長Y^2) =ACOS(cos)*180/PI() 数学・物理学が苦手にも関わらず早急に解決しなければなりません・・・.何か簡単な方法がありましたらよろしくお願いします. よろしくお願いします.

みんなの回答

回答No.1

3点{A(x1,y1),B(x2,y2),C(x3,y3)}の角ABC をθとするとき、θ[ラジアン] は下記の式で求まります。 t = (x1-x2)・(x3-x2) + (y1-y2)・(y3-y2) -------------------------- (1) r = √{(x1-x2)^2 + (y1-y2)^2}・√{(x1-x2)^2 + (y1-y2)^2} ------------ (2) を先に計算しておいて θ = arccos(t/r) [ラジアン] ------------------------------------- (3) あるいは θ = arccos(t/r)・180/π [度] ----------------------------------- (4) [補足1] 上記の t はベクトル a~=(x1-x2,y1-y2)、b~=(x3-x2,y3-y2) の内積 (a~,b~) です。 また、r はベクトル a~、b~ の長さの積、すなわち BA、BC の長さの積です。

bigsea1984
質問者

お礼

大変分かりやすいご回答ありがとう御座います.

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • いろいろな曲線

    1.2定点(±c,0)からの距離の和が一定値2a(a>c)である点の軌跡が、円の標準形で表されることを確かめなさい。 sqrt((x-c)^2+y^2)+sqrt((x+c)^2+y^2)=2a ここで(x-c)^2+y^2+(x+c)^2+y^2=2(x^2+y^2+c^2)を使い (X+Y)^2+(X-Y)^2=2X^2+2Y^2により |sqrt((x-c)^2+y^2)-sqrt((x+c)^2+y^2)|=sqrt(4(x^2+y^2+c^2-a^2) ←この変形が理解できません。 2.楕円x^2/a^2+y^2/b^2=1の周上Pでの接線は、焦点F、F'と結ぶ角FPF'の外角をニ等分することを証明しなさい。 楕円x^2/a^2+y^2/b^2=1楕円の周上の点を媒介変数表示x=acosθ,y=bsinθで表すと、接線の傾きは-bcosθ/acosθ 焦点を結ぶ直線の傾きはそれぞれbsinθ/(acosθ-c),bsinθ/(acosθ+c)(c=sqrt(a^2-b^2))これと接線とのなす角の正接は、前者が(absin^2θ+bcosθ(acosθ-c))/(asinθ(acosθ-c)-b^2sinθcosθ) ←この式が導出できません。 3.楕円x^2/a^2+y^2/b^2=1(a>b>0)の外部の一点Pから楕円に引いた2本の接線が直交するような性質をもつ点Pの軌跡を求めなさい。 楕円上の2点s(acosθ,bsinθ),(acosφ,bsinφ)での接線が直交するとすると a^2sinθsinφ+b^2cosθcosφ=0 両接点の交点の座標は x=a(sinφ-sinθ)/(cosθsinφ-sinθcosφ) y=b(cosθ-cosφ)/(cosθsinφ-sinθcosφ) x^2+y^2=[a^2(sin^2θ+sin^2φ)+b^2(cos^2θ+cos^2φ)]÷(cos^2θsin^2φ+sin^2θcos^2φ-2sinθcosθsinφcosφ) 分子の-2a^2sinθsinφ-2b^2cosθcosφは直交条件によって0になる。 分母の(a^2+b^2)倍を分子から引くと ←どうしてそうするのかわかりません。  2a^2sin^2θsin^2φ+2b^2cos^2θcos^2φ+2(a^2+b^2)(sinθcosθsinφcosφ) ←導出できず。 =2(sinθsinφ+cosθcosφ)(a^2sinθsinφ+b^2cosθcosφ)=0であり、 x^2+y^2=a^2+b^2 ←導出できず。 となる。 多くて恐縮ですがご教示いただければと思います。

  • 二点の座標から距離や角度を求めたいのですが、Matlab

    こんにちは、Matlabの初心者ですがよろしくお願いします。 ある座標、たとえば、A(x1, y1) B(x2, y2)があったとして、 この二点間の距離は、 sqrt((x2-x1)^2 + (y2-y1)^2) だと思いますが、もっと簡潔に求めることができる関数とかが導入されていたりしないかと思いました。AやBを定義しておいて、AとBだけを使うことができないかと思いました。 また、この二点を通る直線とX軸とがなす角度は、 atan(sqrt((y2-y1)^2)/sqrt((y2-y1)^2)) で求められるかと思いますが、これも同様にもっと簡潔な方法がないかと思いました。 いかがでしょうか。よろしくお願いします。

  • 二等辺三角形においての余弦定理教えてください!!

    角B=角C=30度の二等辺三角形ABCにおいて  BC=2ABcos30° と問題の解答はなっています。 で自分なりに余弦定理を使ってこの式を導こうとしました。 すると  BC=2AB√cos(180°-2x30°)   =2AB√cos(120°) となりました。 どうやって  √cos(120°)=cos30° になってるんですか?? そもそも僕の式の導き方まちがってるんでしょうか?? わかるかた教えてください!!

  • basicについて

    まったく下記の問題がわからないので、だれか教えてください。 問 △ABCで辺AB、ACの長さと角Aの大きさから辺BCの長さを求める  プログラムと作れ。 という問題です。 自分の考えを書きます。 BC=SQRT(AB^2+AC^2-2*AB*AC*cos(A)) print BC END 実際にプログラムは作動しませんでした。どのようにすれば正しいプログラムが書けるのでしょうか?

  • visual C++だとコンパイルできるのに、borlandだとできません。

    borlandと、VisualC++の両方使っているのですが、VisualC++だとコンパイルでき、実行できます。 しかし、Borlandでコンパイルしようとすると、「宣言が正しく終了していない」とエラーが出てしまいます。 学校の課題で、Borlandでコンパイルしたいのですが、どうすればいいのか分かりません。 ソースを載せるので、どこがいけないのか、教えてください。 sin(x)の値を入力して、x度を求めるプログラミングです。 #include<stdio.h> #include<math.h> int main(void) { double x_mid, x0=0, x1=90, y_mid, y0, y1, M_PI=3.14159265358979; float y_ans; printf("sin(x)はいくつ?\n"); scanf("%f", &y_ans); for( ; ;) { x_mid=0.5*(x0+x1); y0=sqrt(1-cos(M_PI*x0/180)*cos(M_PI*x0/180)); y1=sqrt(1-cos(M_PI*x1/180)*cos(M_PI*x1/180)); y_mid=sqrt(1-cos(M_PI*x_mid/180)*cos(M_PI*x_mid/180)); if(y0-y_ans>0 || y1-y_ans<0) { printf("答えが出ません。もう一度sin(x)は?\n"); scanf("%f", &y_ans); continue; } if(fabs(y0-(double)y_ans) <= 0.000000001) break; else if((double)y_ans < y_mid) { x1=x_mid; } else { x0=x_mid; } } printf("sin(x)=%fのとき、xは%f度\n",y_ans, x0); return 0; }

  • 任意の標準偏差で正規分布の乱数を発生させたい

    2次元の正規分布の乱数を発生させたいんですが、 調べたところ、 平均0、分散1の正規分布の乱数の発生方法アルゴリズムが以下のものになることがわかりました。 「Box-Maller法:区間(0,1)の2個の一様乱数x1,x2と2個の量y1,y2との間の変換 y1=sqrt(-2*ln(x1))*cos(2*Pi*x2) y2=sqrt(-2*ln(x1))*sin(2*Pi*x2)」 ここで、平均0、分散0.2の正規分布の乱数を発生させたいのですが、どうすればよいでしょうか? 単純にy1,y2に0.2を掛けるだけでもできますが、これは数学的に正しいのでしょうか?

  • 2点間の距離公式

    空間内の三斜晶系の格子(軸長a≠b≠c, 軸角α≠β≠γ)内にある2点ABの座標をA(x1, y1, z1)、B(x2, y2, z2)とすると、 2点間の距離は以下の式で求めることができます。 AB^2 = (x1-x2)^2・a^2 + (y1-y2)^2・b^2 + (z1-z2)^2・c^2 + 2(x1-x2)(y1-y2)ab(cosγ) + 2(y1-y2)(z1-z2)bc(cosα) + 2(z1-z2)(x1-x2)ca(cosβ) 例えば、次のような格子の大きさと任意の二点A,Bの座標を設定すると、 格子: a = 10, b = 12, c = 15, alpha = 60°, beta= 70°, gamma= 80° 2点の座標: A(3/10, 4/10, 5/10), B(5/10, 3/10, 4/10) AB間の距離は、上記の公式から“AB = 2.570”と求まります。 このとき、どのようにして上記の二点間の距離を求める公式が導かれるのでしょうか?? 自分で導こうと式を展開していくと、途中で非常に複雑になってしまい、 上のようなシンプルな式の形に到底辿り着けそうな気がしません。 どなたか、上記の公式を導き出せる方、出来るだけ分かりやすく教えて頂けるとありがたいです。 どうぞよろしくお願いします。

  • 空間図形の問題です。

    正四面体ABCDがあって、A.B,Cの座標はそれぞれ(0.0.0),(0.4.0),(3,2,√3)である。  (1)頂点Dの座標を求めよ この問題の教科書の解答の意味がわかりません。 解答 ⇔AB^2=BC^2=CA^2=16であるから、 正四面体の一辺の長さは4である。Dの(x、y、z)とすると、AD=4で、AD→はAC→、AB→と60°の角をなす。 質問1:なぜ、AB^2=16なのですか?AB=4だからですか?ではどうしてBCやCAまで4なのですか? 理由はA(0.0.0)B(0.4.0)ここから0-0.4-0.0-0をして AB間は4としたのですか?でもBC間は、B(0.4.0)C(3.2.√3)なので、BC間は4にはなりそうに無いのですが。。別のやり方ですか?? また、正四面体と記載されてるので、長さは全て同じと言うのは理解してますけど。。ABとBCみても合わないので混乱してます。 続き→ よって|AD→|^2=x^2+y^2+z^2=16 ....(A) 質問2.なぜですか??>_<?公式ですか?? 続き→ AD→・AC→=3x+2y+√3z=4・4cos60°=8......(B) AD→・AB→=4y=4・4cos60°=8 ∴y=2 .....(C) (C)と(A),(B)から x^2+z^2=12 , 3x+√3z=4 .....(D) xを消去して 3z^2-2√3z-23=0 ∴z=(√3+6√2)/ 3 (D)より x=(3-+2√6)/3 (zとxは複合同順) よって、点Dは二つ定まり、その座標は D( (3±2√6) / 3 , 2 , (√3-+6√2) / 3 (複合同順) →質問3、AD→・AC→=3x+2y+√3z=4・4cos60°=8......(B) AD→・AB→=4y=4・4cos60°=8 の式で、3x+2y+√3zとなるのは単純に(x.y,z)と(3.2.√3)を互いに掛けてるだけなのは理解したのですが、その後ろの4・4cos60°となぜなるのかわかりませんでした>_< だれか教えてください、宜しくお願いします>_<

  • 3次元の回転角度の求め方について教えてください。

    3次元の回転角度の求め方について教えてください。 3軸の加速度センサーがあります。 まず加速度センサーのZ軸を重力方向に置いたときの加速度センサーの値を(x1,y1,z1)=(0,0,1)とします。 加速度センサーのx軸、y軸、z軸をそれぞれ回転させたあとの加速度センサーの値を(x2,y2,z2)とします (このとき加速度センサーは静止しているので、センサーの値は重力の分力になります)。 (x2,y2,z2)が既知のとき(x1,y1,z1)に戻すためのそれぞれの回転角はどのように求めれば良いのか教えてください。 (x2,y2,z2)→(x1,y1,z1)へ移動するときの回転角を φ(z軸の回転角)、ψ(x軸の回転角)、θ(y軸の回転角) とします。 回転行列 (x1) = (cosφ -sinφ 0) (cosθ 0 sinθ) (1 0 0 ) (x2) (y1) = (sinφ cosφ 0) (0 1 0 ) (0 cosψ -sinψ) (y2) (z1) = (0 0 1) (-sinθ 0 cosθ) (0 sinψ cosψ ) (z2) より,3行3列の行列を計算すると 0=cosφcosθx2 + (-sinφcosψ+cosφsinθsinψ)y2+(sinφsinψ+cosφsinθcosψ)z2 0=sinφcosθx2 + (cosφcosψ+sinφsinθsinψ)y2+(-cosφsinψ+sinφsinθcosψ)z2 1=-sinθx2 + cosθsinψy2 + cosθcosψz2 となると思うのですが、この式からφ、ψ、θが導きだせません。 どうすれば求めることができるか教えていただけますか。

  • 高校数学・三角比の問題です。

    (1)角B=90°、BC=3、CA=4の△ABCにおいて、角Aの大きさをaとする。    sin a、cos a、tan aの値を求めよ。 (2)図の△ABCはAB=AC、BC=4の直角二等辺三角形である。線分BDとADの長さを求めよ。