ページ 11

三角関数

Posted: 2010年6月10日(木) 18:44
by Ultimate
さっき質問が解決したばかりでまたすぐに投稿ですみません。

弾幕の円形のショットに、三角関数が必要なようです。

龍神録をやっている途中ですが、以前作りかけていたインベーダーに円形ショットなどの弾幕のような機能を追加して練習したいです。

僕は、今中2で、学校では公立より進んだ勉強をしているようですが、さすがにまだ三角関数までは進んでいません。

さっきから、http://www8.plala.or.jp/ap2/suugaku/san ... shoho.htmlを読んで三角関数がなんとなくわかってきた感じです。

このサイトの内容が理解できれば、円形に図形を絵画できるようになる知識は身につくでしょうか?

もっとよい、また何の知識もなくてもわかるサイトがあったら教えてください。

Googleで検索して、はじめのほうのものの中でわかりやすかったのがそのページです。

回答よろしくお願いします。

Re:三角関数

Posted: 2010年6月10日(木) 18:53
by たかぎ
三角関数を勉強したいのであれば、やはり高校の教科書か参考書が一番です。
学校の図書室とかにもあると思いますし、数学の先生に相談するのもよいと思いますよ。

Re:三角関数

Posted: 2010年6月10日(木) 19:00
by Ultimate
中高一貫校ですので、図書館には高校の教科書もあるので、探して借りてみようと思います。 画像

Re:三角関数

Posted: 2010年6月10日(木) 19:41
by Ultimate
三角関数のsinとcosの求め方とhttp://shigihara.hp.infoseek.co.jp/sin21.htmは完全に理解できました。

円形ショットはこれ以外に具体的に何を使いますか?

Re:三角関数

Posted: 2010年6月10日(木) 19:43
by たかぎ
念のために確認しますが、弧度法は理解されていますか?

Re:三角関数

Posted: 2010年6月10日(木) 20:06
by Ultimate
いいえ、知りません。

それは三角関数関係の内容ですか?

Re:三角関数

Posted: 2010年6月10日(木) 20:15
by たかぎ
> いいえ、知りません。

確認しておいて正解ですね。

> それは三角関数関係の内容ですか?

三角関数をはじめ、数学や物理で角度を扱う場合は弧度法を使います。
具体的には、45°や90°のような度数法による単位ではなく、π/4ラジアンやπ/2ラジアンのように角度の単位にラジアンを使います。

ラジアンという単位は、半径と弧の長さが等しくなるときの中心角を1ラジアンとします。
つまり、360°は2πラジアンですし、180°はπラジアンになります(円周は2πrなので)。

Re:三角関数

Posted: 2010年6月10日(木) 20:23
by Dixq (管理人)
習ってないのにこの辺を理解するのは難しいですよね~^^;

ラジアンってなんだ・・?みたいに私なら成ると思います・・。

・孤度法
・度数法
・ラジアン
・円周率

この辺のキーワードで調べてみるといいと思います。

Re:三角関数

Posted: 2010年6月10日(木) 20:27
by Ultimate
http://w3e.kanazawa-it.ac.jp/math/categ ... dohou.html

と、たかぎさんとDixqさんの回答を参考に、弧度法と度数法についてある程度理解しました。

中心角は弧度法であらわすのですね。

度数法から弧度法に変換はできるようになりました。

結構スムーズに理解できています。 画像

Re:三角関数

Posted: 2010年6月10日(木) 20:29
by たかぎ
> 習ってないのにこの辺を理解するのは難しいですよね~^^;

定義そのものを理解することは特に問題ないはずです。
問題なのは、弧度法を使うとどんな利点があるのかを理解しにくいことです。
弧度法の利点を理解するには、少なくとも微分法を習う必要がありますので、これはちょっと難関ですよね。

Re:三角関数

Posted: 2010年6月10日(木) 20:32
by Ultimate
微分法というのも勉強したほうがいいのでしょうか?

Re:三角関数

Posted: 2010年6月10日(木) 20:51
by Dixq (管理人)
いやいや、微分積分を勉強し始めたら帰ってこれなくなります・・w
中学生で解けたらそれはそれでカッコイイかもしれませんが・・。

「プログラミングをする為に勉強する」と思って勉強したらたいして勉強できないと思いますし、
実際自分が行いたい事それだけに焦点を当てたら使う知識なんてしれいている場合が多いと思います。

また、関数というものは最初は「使い方だけ解れば理屈なんてどうでもいい」という気軽な姿勢でドンドン使って行くことも大事だと思います。
概要を把握できたら手当たり次第にプログラムを書いてみてはどうでしょう。

Re:三角関数

Posted: 2010年6月10日(木) 21:09
by Ultimate
わかりました。

ところで、この三角関数を利用して、弾幕風な円形ショットを表示するにはどのような手順でしょうか?

まだ、三角関数に慣れていなく、使ったことがないので、表示手順を教えてください。

ソースは自分で考えてやりたいです。

(わからなかったら質問してヒントをもらいます。)

たとえば、円形の球を上に発射だとすれば、

「円を表示し、だんだんにY座標を0に近づけて画面をクリアーし、・・・をループ」

のように言葉での説明をもらえるとうれしいです。 画像

Re:三角関数

Posted: 2010年6月10日(木) 21:33
by Ultimate
何がわからないのかを具体的に書いておきます。

三角関数の練習なので、1つのcppだけで考えていただけると嬉しいです。

似たような内容のソースを見てみると、まずはθの値を決めているような感じでした。

その後たぶん三角関数を使うのですよね。

そこまではわかっています。

ただ、for文などでループさせてx,yの値を得る方法がわかりません。

Re:三角関数

Posted: 2010年6月10日(木) 23:23
by fatens
半径1の円上の点をP(x, y)とします。
このとき、点Pとx軸とのなす角をθとすると、x, yの値は何になるでしょうか?
また、半径が5のときはどうなるか分かりますか?

Re:三角関数

Posted: 2010年6月10日(木) 23:33
by シエル
下記のページを参考にしてはいかが?
http://dixq.net/s/26.html

Re:三角関数

Posted: 2010年6月11日(金) 00:36
by たいちう
たかぎさんも書いていますが、高校の数学を理解したいならば、
高校の教科書が一番の近道ですよ。

教科書の執筆・編集には莫大な手間と暇と金がかかっています。
教科書と聞くだけでアレルギー反応を起こす人もいるでしょうが、
莫大な手間と暇と金は判りやすくするために費やされていますので、
他の本やサイトとは比較になりません。

Re:三角関数

Posted: 2010年6月11日(金) 05:58
by Ultimate
ありがとうございました。

教科書は土曜日に学校で見ようと思います。

今日は事情により、皆さんの回答に対して投稿がこれで最後になると思います。

明日はまた返事ができると思います。

Re:三角関数

Posted: 2010年6月11日(金) 22:51
by Ultimate
たとえば、半径がわかっていて、中心角がθの時、sinθ,cosθは三平方の定理で比を出してこのサイトではやっています。

http://shigihara.hp.infoseek.co.jp/sin.htm

どのようにループさせて、sin,cosを出すのでしょうか?

そこを詳しく教えてください。

よろしくお願いします。

Re:三角関数

Posted: 2010年6月11日(金) 23:03
by MNS
質問の意味がよく分かりませんね…。
例えば、弾の座標が(x, y)であるとき、
角度θで大きさ(半径?)1 の分、移動したら、
弾の座標はなんと書けるか分かりますか?

Re:三角関数

Posted: 2010年6月11日(金) 23:09
by Ultimate
すみません、言葉足らずでした。

質問内容は、お察しの通りです。

やりたいのは、球を18個用意し、角度20度ずつ(ここではラジアンを使ったほうがいいのでしょうか?)大きく設定し、円形に球を飛ばしたいのです。

目標:http://sinkai.net/rp/4.php

θは、順に0度、20度・・・で球のx,yを出したいです。

三角関数は何度なく分かる程度で、なかなかどうしていいか思いつかないので、回答お願いします。 画像

Re:三角関数

Posted: 2010年6月12日(土) 21:27
by Ultimate
ありがとうございました。

続きの質問は新しくしようと思います。

Re:三角関数

Posted: 2010年6月12日(土) 21:51
by Ultimate
ここで解決にします。

新しい質問もよろしくお願いします。