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

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

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

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

Q&A

解決済

4回答

614閲覧

3dでラジアンを使うメリット

blendegg

総合スコア81

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

0グッド

0クリップ

投稿2019/06/01 20:58

度とラジアンの違いについてですが、度はわかります。ラジアンは円の弧の長さかと思います。3dにおいては度をラジアンに変換することが多いようです。
これによってどんなメリットがありますか?

3dソフトで回転させてみましたが、度でも、ラジアンでも動きに大差はないような気がします。

###コード
ラジアン変換
rotate_y(deg2rad(30 * delta))
ラジアンなし
rotate_y(30 * delta)

どういうシチュエーションでラジアンへの変換が役立つのでしょうか? 英語の記事は見つかったのですが、細かいニュアンスがよくわかりません。 https://answers.unity.com/questions/989535/why-convert-degrees-to-radians.html

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

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

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

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

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

guest

回答4

0

ベストアンサー

角速度や角度から弧の長さを求めたいような(例えば車輪の走行距離)などを計算するときの式は角速度や角度などのパラメータをradianベースで持っていると余計な係数なしで算出できます。

degreeでパラメータを持つと結局PI単位相当のradianに換算することになります。
3D計算の分野や物理シミュレーションなどの分野ではこのようなことはあちこちにあります。

コンピュータ資源を有限と考えれば内部情報はradianで持っておくほうが有利なのです。特に計算頻度が高ければ高いほど。

もちろん入出力の段で人が理解しやすいdegreeにするのはアリです。

なのでこの質問は10進法が一番理解しやすいのにコンピュータはなぜわざわざ2進法を基本とするのですか?と似た方向性の質問ということになります。

で、答えは2つの要因があって、

  • radianを使ったほうが計算手順が単純で効率的だから
  • 他の方が指摘しているようにradianが標準単位系として扱われていること

あとは普段からradian単位系や2進法の表現に触れているとある時点以降で
他の表現よりもより認識速度がよくなってしまうというタイミングが訪れます。

例えば、

  • 63という数字から直接10回転超えたあたりと認識できるようになったり
  • 16進法表現を多く目にする現場では2進法との親和性が高かったり
  • ゴルフを始めるとヤードやフィートの距離感の認識精度や認識速度が向上していく

などなど。

投稿2019/06/04 01:43

nobonobo

総合スコア3367

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

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

0

弧度法(ラジアン)を使う方が、三角関数を扱うときにきれいな式を書けることが大きなメリットです。

参考:度数法ではなく弧度法を使うメリット
https://mathtrain.jp/kodohou

弧度法では、「1 ラジアンは円の半径の長さに等しい弧に対する中心角の大きさ」と定義されています。
一方で度数法では、円の一周を 360 度と定義している数学的な理由付けがありません。
一説によると、「度数法が発明された古代メソポタミアの暦では、1 年が 360 日だったから」というのがその理由らしいのですが、今となってはあまり意味のない単位ですよね・・・

度数法は多くの人にとって直感的で分かりやすいというメリットがありますので、用途によって使い分けすると良いかと思います。

投稿2019/06/02 00:15

nskydiving

総合スコア6500

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

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

0

度をラジアンに変換する

というぐらいですから
あなたの中では角度というものは単位が度であることが普通で
なぜわざわざラジアンに「変換」するのか
ということかと思いますが、
数学や物理の世界では普通はラジアン単位で扱います。
角度をラジアンで表す理由は三角関数を微分したときに余計な係数が出てこないとかなのですが、
(度数法の一周が360度って360という数字に何の根拠もないですし)
究極的には「そっちのほうが界隈で一般的だから」です。

3dソフトで回転させてみましたが、度でも、ラジアンでも動きに大差はないような気がします。

仮にrotate_y()がラジアンで渡すこと前提の関数だとしたら、
rotate_y(360)としたらy軸に360ラジアン回転します。`

投稿2019/06/01 23:17

ozwk

総合スコア13512

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

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

blendegg

2019/06/02 01:48

返答ありがとうございます。 そういうものだと受け入れます(´・ω
guest

0

国際単位系(仏: Système International d'unités、英: International System of Units、略称:SI)という全世界で共通に通用している単位体系があります。(詳細は国際度量衡局 (BIPM) から出されている利用案内(英語)The International
System of Units
(SI)(9th edition 2019)

その中(利用案内の5.4.8節)で角度の単位はラジアン(radian)と定められていますから、radianを使うのが国際標準になっているのだと思います。

日本で作られたソフトは度単位、フランスのソフトはラジアン単位、などと異なる単位が使われると混乱しますからね。

投稿2019/06/02 02:29

coco_bauer

総合スコア6915

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問