• 締切済み

三辺の長さから角度を求めたい(3回目の三角形の質問・・・)

こんにちは。 以前、三角形についての質問をさせて頂き、三角形の3点を移動させられるようになりました。 そこで、辺の長さの求め方も教えて頂きました。 今回の質問は「三辺の長さから角度を求める方法を教えて欲しい」というものです。 「辺の長さから角度」と思いつき、余弦定理を思い出したのですが、元々うろ覚えだった為に実装する事が出来ないで居ます・・・。 分かる方、教えていただけませんか? 三角形ABCの3辺をそれぞれabcとして余弦定理に当てはめると cosA = (b*b)+(c*c)-(a*a) / (2*b*c) というようにして求められると思ったのですが・・・。

noname#77303
noname#77303
  • Flash
  • 回答数2
  • ありがとう数7

みんなの回答

回答No.2

2辺から角度を求めるには内積を使います 三角を以下のように3点として、p0の角度(θ)を求めたいとします    p0    /\   /  \  /    \ p1 ̄ ̄ ̄ ̄ ̄ ̄p2 cos(θ)=(p1-p0)・(p2-p0)/(p1-p0の長さ)/(p2-p0の長さ) ※p1-p0の計算結果はベクトルです ※p2-p0の計算結果はベクトルです ※・は内積を求める意味です ※p1-p0、p2-p0のベクトルを正規化(長さ1にする事)すれば前述の式は  cos(θ)=(p1-p0)・(p2-p0)  と非常に簡単になります  これを使えば  θ=acos(p1-p0)・(p2-p0)  p1-p0=>q、p2-p0=>rとして  θ=acos(q.x*r.x + q.y*r.y) ※acosはアークコサインの意味 ※acosで求めた結果はラジアンなので 180/3.141592をかければデグリーになります

noname#77303
質問者

お礼

回答ありがとうございます。 ベクトルはかなり苦手だった覚えがあるのですが、試行錯誤の末、角度の表示に成功しました。 ついでに面積も表示させるようにして、三角形シリーズは無事完成しました。 本当にありがとうございました。

  • log_az
  • ベストアンサー率26% (8/30)
回答No.1

プログラミングはあまり詳しくないですが失礼します。 余弦定理をつかえば三辺の長さからcosの値を求めることが可能です。 というか、そこまでわかってるならやってみればいいんじゃないかと思うんですが。 ちなみに、cosAの値がわかってもそのままだと角度はわかりませんので、 アークコサインを使って角度を求めます。

noname#77303
質問者

お礼

回答ありがとうございます。 質問に書いた式の通りに実行してみたのですが、計算で出てきたのは全く関係ない数値でした。 90度にしても高さによって数値はバラバラ、コサインを表示しているとはとても思えない状態です。 他の角のコサインを表示しているのかと思って試しましたが、同様に、高さによってバラバラです・・・。

noname#77303
質問者

補足

記述した内容から角度を求める為の式を抜き出したものです。 //三点を作成、設定をする for(n=1;n<=3;n++){ make = _root.attachMovie("point","point"+n,n); make.onPress = function(){ startDrag(this,true); } make.onRelease = function(){ stopDrag(); } } onEnterFrame = function(){ _root.clear(); //座標を変数に Ax = _root.point1._x; Ay = _root.point1._y; Bx = _root.point2._x; By = _root.point2._y; Cx = _root.point3._x; Cy = _root.point3._y; //線の描画 _root.lineStyle (0, 0x000000, 100); _root.moveTo(Ax,Ay); _root.lineTo(Bx,By); _root.lineTo(Cx,Cy); _root.lineTo(Ax,Ay); //それぞれの線分の長さを表示する a = Math.sqrt((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay)); b = Math.sqrt((Cx-Bx)*(Cx-Bx)+(Cy-By)*(Cy-By)); c = Math.sqrt((Ax-Cx)*(Ax-Cx)+(Ay-Cy)*(Ay-Cy)); //小数点第2位以下を切り捨てる trace("aの長さは"+Math.floor(a*10)/10); trace("bの長さは"+Math.floor(b*10)/10); trace("cの長さは"+Math.floor(c*10)/10); //cosAを算出する trace("角Aの数値は"+((b*b)+(c*c)-(a*a)) / (2*b*c)); } //最初に実行 if(isNaN(Ax)){ //初期座標 _root.point1._x = 70; _root.point1._y = 180; _root.point2._x = 270; _root.point2._y = 180; _root.point3._x = 270; _root.point3._y = 30; }

関連するQ&A

  • 余弦定理

    余弦定理 余弦定理ですが  (1)△ABCにおいて a=8 b=5 c=7 の時 cosAの値を求めよ。  同じく(2) a=4 b=5 c=6 の時 cosAを求めよ。  (1)は 1/7 (2)は2/3 となってしまいます。角度で表すのですか? 高一の ワークです。教えてください。

  • 三角比(長さと角度を求める)

    (問題) △ABCにおいて、A=45°、b=3+√3、c=√6の時、a、B、Cを求めよ。 答えは、aは2√3、Bは105°、Cは30°です。 三角比の余弦定理、2辺と間の角が分かるので、a2=b2+c2-2bc cosAを試してみましたが、解答に辿り着きません。bの3+√3が曲者?私の視点が違っているのでしょうか? どの公式を使用してどのように計算していけば、もとめられるのでしょうか。ちなみに数学は全部苦手です。そんな私に超解りやすく解説していただけませんでしょうか。宜しくお願い致します。

  • 三角形の辺と角 正弦、余弦

    こんにちは。数Iの正弦定理、余弦定理の問題です。 a=√2、B=45°、C=105° の三角形ABCの残りの辺の長さと角の大きさを求めなさい。 A=30°、b=2 これらはちゃんとできました。 でも、cの計算をするとき、疑問があります。 bについての余弦定理で解くと、 2^2=(√2)^2+c^2-2×√2×c×cos45° 4=2+c^2-2√2c×1/√2 c^2-2c-2=0 解の公式より、c=1±√3 c>0より、c=1+√3 になります。 答えはこれで合っているのですが、 aについての余弦定理でも出せるのではないか、と思いました。 (√2)^2=2^2+c^2-2×2×c×cos30° 2=4+c^2-4c×√3/2 c^2-2√3c+2=0 解の公式より、c=√3±1 でもこれだと、bについての余弦定理で解いた答えと違います。 どういうことでしょうか? 教えてください。

  • 三角形の角度と長さから数式の値を得る問題

    三角形ABCがありAの対辺をa、Bの対辺をb、Cの対辺をcとする。 (1)(cosA)^2+(cosB)^2+(cosC)^2+2cosAcosBcosC の値を求めよ (2)a^2(b+c-a)+b^2(c+a-b)+c^2(a+b-c)と3abcの大小関係を調べよ この問題にとりくんでいます。 (1)ではA+B+C=πということを使いながらいろいろな公式を使って変形したのですが目標がよくわからず求められませんでした。 (2)は左の式が余弦定理に出てくる部分(b+c-a)があるので余弦定理を利用しそうなのですが大小比較をどのようにするのかがわかりません。 考える上でのヒントでかまいませんので回答よろしくお願いします

  • 【数学が得意な方】幾何でわからない問題があります!【余弦定理】

    △ABCの三辺がa:b:c=2:3:4のとき、cosA:cosB:cosCを求めよ。 という問題です。 余弦定理を使うらしいのですが、代入してもその後がわかりません 具体的な解法をお願いします>< 得意な方、回答をお願いします!

  • 余弦定理について。

    △ABCについて、余弦定理を用いて次の値を求める。 (1),b=1,c=2,A=120°のときのaの値 a^=1^+2^-2×1×2×cos120° 1+4-4×(-1/2)=7 a=√7 (2),a=√13,b=3,c=4のときの角Aの値 √13^=3^+4^-2×3×4cosA13=9+16-24cosA 24cosA=25-13=12 cosA24/48=1/2 A=60° これでいいのか解説お願いします。

  • 三角形の辺と角【余弦定理】

    どうしても計算出来ないので詳細な回答ご教授願います。 問題:次の様な△ABCの角Aの大きさを求めよ。 a=√6、b=2√3、c=3+√3 以上なのですが、回答手順としては余弦定理を用いて式を作り     (2√3)^2+(3+√3)^2-(√6)^2 cosA= ---------------------        2・2√3・(3√3) とここまではいいのですが、この後の計算の手順が全く分からないのです。 解に至るまでの一つ一つの計算を丁寧に教えてください。 お手数掛けますがよろしくお願い致します。

  • 三角比の問題 (2)

    (問題)△ABCにおいて、a cosA +b cosB =c cosCが成り立つとき、 △ABCは、直角三角形を証明せよ。 余弦定理を使ってやっているのですが、答えが出ません。 教えてくださいまし。

  • 三角比の問題です。

    三角比の問題です。 問題:a=√2 b=√2+√6 c=√3+1のときの△ABCにおいて、角ABCを求めよ。 余弦定理のcosA=b2+c2-a2/2bcというのを使ったのですが、うまくいきません。 できればこの公式を使った計算過程を教えてください。 よろしくお願いします。

  • 三角形の辺について

    突然ですが、 ある三角形の辺a,b,cがあって、 そのa,b,cをそれぞれ適当な値(例えばa=3,b=4,c=5)にし、それがちゃんと三角形になるかどうかを 確かめるためには、どうしたらいいでしょうか? 余弦定理(↓)や正弦定理(↓↓) http://www.kwansei.ac.jp/hs/z90010/sugaku1/sankaku/yogen/yogen.htm http://www.kwansei.ac.jp/hs/z90010/sugaku1/sankaku/seigen/seigen.htm を考えたりしましたが、分かりません。 深く考えすぎかもしれないです。どなたか教えて下さい。

専門家に質問してみよう