C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

底辺と高さから角度(deg)を求める方法

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■97956 / inTopicNo.1)  底辺と高さから角度(deg)を求める方法
  
□投稿者/ のぶ (1回)-(2021/08/12(Thu) 11:37:06)

分類:[C#] 

タイトルの通り、底辺・高さから角度を求める計算部分を作成していますが、
どうにも求める答え(関数電卓による答え)と合わずに困っています。

具体的な式としては、Θ=tan^-1(0.0125/10)になりますが、
関数電卓では「0.071619687」
高度計算サイトでは「0.071619687089448」になります。

私の書いた計算部分では「0.071497644842674762」となってしまいます。
Mathがdouble対象という事でnugetよりDecimalMathパッケージを導入してみても結果は変わらず。

私の書いた部分に問題があるとは思いますが、どこで計算ミスをしているのでしょうか。
お教え下さい。

Microsoft Visual Studio Community 2019 Version 16.8.6
対象フレームワーク:.NET5

double num1 = 12.5;
double num2 = num1 / 1000;
double num3 = 10;

//double rad = (num2 / num3) * Math.PI / 180;
double deg = (num2 / num3) * 180 / Math.PI;
double rslt = Math.Atan(deg);
引用返信 編集キー/
■97957 / inTopicNo.2)  Re[1]: 底辺と高さから角度(deg)を求める方法
□投稿者/ WebSurfer (2326回)-(2021/08/12(Thu) 12:30:32)
No97956 (のぶ さん) に返信

私の書いたコード、

using System;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            double rad = Math.Atan(0.00125d);
            double deg = (180d / Math.PI) * rad;
            Console.WriteLine("\n-----------");
            Console.WriteLine($"rad: {rad}, deg: {deg}");

        }
    }
}

では以下のようになりますが?

rad: 0.0012499993489589437, deg: 0.07161968708944809

関数電卓では                     0.071619687
高度計算サイトでは               0.071619687089448
私の書いた計算部分では           0.071497644842674762

引用返信 編集キー/
■97958 / inTopicNo.3)  Re[2]: 底辺と高さから角度(deg)を求める方法
□投稿者/ WebSurfer (2327回)-(2021/08/12(Thu) 12:46:10)
No97957 の私のレスで、
 
> 関数電卓では                     0.071619687
> 高度計算サイトでは               0.071619687089448
> 私の書いた計算部分では           0.071497644842674762

というのは質問者さんの際その質問にあった結果を比較のためコピペしたものです。
念のため申し添えておきます。

引用返信 編集キー/
■97959 / inTopicNo.4)  Re[3]: 底辺と高さから角度(deg)を求める方法
□投稿者/ のぶ (3回)-(2021/08/12(Thu) 12:58:12)
No97958 (WebSurfer さん) に返信

ご返信ありがとうございます。
rad → deg への変換のタイミング(箇所?)がおかしい故のミスだったんですね。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ