- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sin曲線とcos曲線を描くプログラムについて)
Javaプログラムによるsin曲線とcos曲線の描画
このQ&Aのポイント
- Javaのプログラムを使用してsin曲線とcos曲線を描画する方法について教えてください。
- Javaのプログラムにおけるsin曲線とcos曲線の描画に関する式の解説をしてください。
- Javaでsin曲線とcos曲線を描画する際に参考になるサイトを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>x1 = 20+(int)(i/20.0*200); >y1 = 70-(int)(50.0*Math.sin(i/20.0*2*Math.PI)); ちと正確ではなかったので補足、どちらの計算も (i/20.0*200) (50.0*Math.sin(i/20.0*2*Math.PI)) ↑部分の結果が整数ではなく、小数値を持つ結果が返るため int型の変数に格納するためキャストしています。 この結果、小数部分が切り捨てられます。
その他の回答 (1)
- ProKaseifu
- ベストアンサー率51% (98/192)
回答No.1
>これで、赤と青の曲線が描かれるわけですが、 >x1 = 20+(int)(i/20.0*200); >y1 = 70-(int)(50.0*Math.sin(i/20.0*2*Math.PI)); >の部分がさっぱりわかりません。 >今まで、"int"は変数宣言でしか用いられなかったのに、 >今回突然この式の中に組み込まれており困惑しています。 Math.sinの戻り値がdouble型でx1,y1がint型なのでキャストしてるだけです。 http://www.javaroad.jp/java_variable2.htm >また、iが回数を表すのはわかりますが、それを全回数で割ったり、 >x1の式の中でなぜ200を掛けるのか、 >y1の式の中でなぜ2を掛け、さらに円周率まで掛けるのかが >どうしても理解できません。 このへんを理解する必要はないんじゃないかな。 曲線を引くための計算程度に思えばいいんじゃないでしょうか。
お礼
2回も回答ありがとうございます! キャストとは、型変換のことなのですね!URLもありがとうございます。 なぜ2や円周率を掛けるかも、円周を求めるためだということが やっとわかりました(←もう算数なんてすっかり忘れているもので…) お陰さまでスッキリしました。本当にありがとうございました。