質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

701閲覧

余弦定理を利用して角度を求めたい

siranui

総合スコア54

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/12/20 22:06

###前提・実現したいこと

  • 三つの辺から角度を求める方法に惹かれたので、これを利用して角度を求めたいです。
  • 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)/(2
ab))(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を使っています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

jsにおいて^はbit xorです。例えば 7^2は5です。

累乗演算子**を使って、sank[2] ** 2などと書いてください。

投稿2018/12/20 22:20

編集2018/12/20 22:22
papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siranui

2018/12/21 07:00

それは盲点でした。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問