• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sin曲線とcos曲線を描くプログラムについて)

Javaプログラムによるsin曲線とcos曲線の描画

このQ&Aのポイント
  • Javaのプログラムを使用してsin曲線とcos曲線を描画する方法について教えてください。
  • Javaのプログラムにおけるsin曲線とcos曲線の描画に関する式の解説をしてください。
  • Javaでsin曲線とcos曲線を描画する際に参考になるサイトを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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型の変数に格納するためキャストしています。 この結果、小数部分が切り捨てられます。

w_dragon
質問者

お礼

2回も回答ありがとうございます! キャストとは、型変換のことなのですね!URLもありがとうございます。 なぜ2や円周率を掛けるかも、円周を求めるためだということが やっとわかりました(←もう算数なんてすっかり忘れているもので…) お陰さまでスッキリしました。本当にありがとうございました。

その他の回答 (1)

回答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を掛け、さらに円周率まで掛けるのかが >どうしても理解できません。 このへんを理解する必要はないんじゃないかな。 曲線を引くための計算程度に思えばいいんじゃないでしょうか。

関連するQ&A