サイン、コサインの精度
初心者です。
サイン、コサインを使ってプログラムを書いていたのですが、
精度が悪くて話になりません。
誰か助けてくださ~い。
プログラム ↓
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#include <stdio.h>
#include <math.h>
int main(){
double angle = 0;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 90;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 180;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 270;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f",sin(angle),cos(angle));
angle = 45;
printf("\nangle = %f",angle);
printf("\nsin(angle)-%f , cos(angle)-%f\n",sin(angle),cos(angle));
return 0;}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
コンパイル後 ↓
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
[~@~]$ gcc -o try2.exe try2.c -lm
[~@~]$ ./try2.exe
angle = 0.000000
sin(angle)-0.000000 , cos(angle)-1.000000
angle = 90.000000
sin(angle)-0.893997 , cos(angle)--0.448074
angle = 180.000000
sin(angle)--0.801153 , cos(angle)--0.598460
angle = 270.000000
sin(angle)--0.176046 , cos(angle)-0.984382
angle = 45.000000
sin(angle)-0.850904 , cos(angle)-0.525322
[~@~]$
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
OSは Fedora Core 6 です。
あんまり詳しいことにはなれてません。
お礼
ご回答ありがとうございます。サイン・コサインうんぬんは受験用の詰め込み知識ほどの意味だったのですね。作詞の中川五郎氏の本意もそうだったでしょう。私は単純に「サイン・コサイン」だけのことと思っていました。浅はかでした。 ルート3に関しては、「一辺が√3の正方形の面積は3」ということでよく理解できて、重要な観念だと思っているのですが、恥ずかしながらサイン・コサインって言葉しか覚えていません。 「数学的思考はどんな分野の人にも必要」「人間はどんどん忘れて行く動物ですから直ぐに常識が不足しかねない状況に立ち至るという一般的推論が成り立つのではないでしょうか。少し高い常識(知識)、またはその知識が成り立っている背景までをちょっとかじって置くと、後になってちょうど良い程度の常識を蓄えた人間になれる」という部分も同感です。「必要な力が5だとして、いつも5の練習をしていたのではいざというとき5の力を出せるものではない。日ごろ10の練習をしていてこそ、いつでも5の力を出すことができる」と私の愛読コミックに一場面にもでてきます。 私は単純に「サイン・コサインが何かの役にたっているか」と軽い気持ちで問いかけてみたつもりだったので、丁寧まじめなご意見をいただいて恐縮しています。 こ の歌をラジオから偶然きいた1977年ごろを思い出して、懐かしくなりました。失礼します。