###前提・実現したいこと
- 三つの辺から角度を求める方法に惹かれたので、これを利用して角度を求めたいです。
- Node.jsやDiscord.jsを使っていますが、今回は計算の質問なのでそこまで気にしなくても大丈夫かとお思います。
- 下のは余弦定理の簡略図です。
Math.acosは、計算で求めた数字はcosなので、それをラジアン角度にしています。
(180/Math.PI)は、ラジアン角度を普段自分らが使う角度にしています。
. A➡️➡️➡️➡️➡️Math.acos((b^2+c^2-a^2)/(2b))(180/Math.PI)
. /\
.c/ \b
/__ a__\C➡️Math.acos((a^2+b^2-c^2)/(2ab))(180/Math.PI)
B➡️➡️➡️➡️➡️➡️➡️➡️Math.acos((a^2+c^2-b^2)/(2ac))*(180/Math.PI)
###発生している問題
エラーは出ていないのですが、答えが間違っています。
- 例
三角 7 3 5
=>(プログラムの誤答)
84.26082952273322 92.7294026367787 80.95890385142484 ってのはわかったんだけど...
正答は、少なくともAは120度でないといけません
###問題のソースコード
js
1if (message.content.includes('三角')) {//$三角が含まれるメッセージが入力された 2 var sank = message.content.split(" "); 3 if(message.content.slice(2).match(/ /)) { 4 var sank = message.content.split(" ");//[ ]か[ ]で文字列を分ける 5 } 6 var cosA = Math.acos(((sank[2]^2)+(sank[3]^2)-(sank[1]^2))/(2*sank[2]*sank[3]))*(180/Math.PI)// /\ 7 var cosB = Math.acos(((sank[2]^2)+(sank[1]^3)-(sank[3]^2))/(2*sank[2]*sank[1]))*(180/Math.PI)//5/ \7 8 var cosC = Math.acos(((sank[1]^2)+(sank[3]^2)-(sank[2]^2))/(2*sank[1]*sank[3]))*(180/Math.PI)///_8_\ 9 message.channel.send(cosA+`\n`+cosB+`\n`+cosC+`\nってのはわかったんだけど...`); 10//(cosA+`\n`+cosB+`\n`+cosC+`\nってのはわかったんだけど...`)といえ 11 return; 12 }
###問題のソースコードの場所
3124行目にあります。glitchを使っています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/21 07:00