ページ 11

sin,cosなどについて

Posted: 2010年12月11日(土) 22:50
by Tama
ブロック崩しを作ろうとしているのですが、sinやcosなどの使い方が調べてみてもよくわかりません。


C言語に触れてから1ヶ月もたっていません。どなたか教えてください。

Re: sin,cosなどについて

Posted: 2010年12月11日(土) 23:57
by jay
流石にもう少し具体的にして貰わないと、質問の内容が漠然とし過ぎて皆さん困ると思いますよ?


とりあえずsin関数、cos関数の扱い方ですね

まずはmath.hをインクルードして下さい、これをしないとお話になりません。

sin、cos これらをどのような関数かと言うと、そのまま引数のsin、cosを求める関数です。
angle にsin、cosを求めたい角度を格納したうえで。

x = cos(angle) ;
y = sin(angle) ;


と書けばxとyにそれぞれangleのsin、cosが格納されます。
注意することは引数(今回の場合angle)はdouble型で渡されること、そして角度は弧度方(ラジアン角)で計算されることです。

質問の内容が漠然とし過ぎていて、これ以上は説明できないので
もう少し質問の内容を具体的にして改めて質問するか、ホームページか参考書などを使ってご自分で調べる事をオススメします。

Re: sin,cosなどについて

Posted: 2010年12月12日(日) 03:02
by Dixq (管理人)
もしニコニコがお好きでしたら、こんなページをお勧めします。
http://dixq.net/g/s.13.a.html

Re: sin,cosなどについて

Posted: 2010年12月12日(日) 03:43
by パコネコ
ゲームでの使い方?でいいんでしょうか?
例えばボールの座標が(xx,yy)だとします。
そして移動量がsp(スピード)だとします。

コード:

xx+=cos(angle)*sp;
yy+=sin(angle)*sp;
これでangleの方向にsp移動することになります。

cos,sinではそれぞれ「横の移動量」/斜辺(斜めの移動量)や「縦の移動量」/斜辺(斜めの移動量)が、出てきます。
なので斜辺(斜めの移動量)を出てきた値にかけてあげると斜めの移動量が出てきます。
おそらく一般的には、こういう風に使うと思います。
(違ったらごめんなさい)

Re: sin,cosなどについて

Posted: 2010年12月12日(日) 17:21
by box
>C言語に触れてから1ヶ月もたっていません。
>sinやcosなどの使い方が調べてみてもよくわかりません。

そういうレベルの方が

>ブロック崩しを作ろうとしている

のは、意気込みは買えますが時期尚早では?


私自身はゲームプログラミングに全く興味がないし、チャレンジしてみようとも思いませんが、
少なくとも数学や物理の基礎をじゅうぶん理解し、なおかつ、
C言語の基本的なデータ構造も熟知しておく必要があるだろうなぁ、くらいはわかります。