このたび学校でC言語を勉強することになり、自主的に本を購入して勉強していたのですが、わからない点があるので質問させていただきます。独習している書籍は、高橋麻奈氏の「やさしいC」と、大槻有一郎氏の「14歳からはじめるリアルに動く!ゲーム物理プログラミング教室」です。
このうち後者のものにそってプログラムを組んでいたのですが、100ページほど済んだところで自分でそれを改造し、動画サイトに投稿されていた数学の動画において曲線の美しさに気付いたこともあり、画面に表示された円がリサージュ曲線の軌跡を描くようなプログラムを作りたくなりました。
-----------------------------------------
#include "DxLib.h" #include "math.h" double posx, posy; void PhysicsDraw(){ for(int x=40; x<640; x=x+40) DrawLine(x,0,x,480, GetColor(64,64,64)); for(int y=40; y<480; y=y+40) DrawLine(0,y,640,y, GetColor(64,64,64)); DrawCircle(posx-10,posy-10,2, GetColor(255,200,200), FALSE); DrawCircle(posx-5,posy-5,2, GetColor(255,100,00), FALSE); DrawCircle(posx,posy,2, GetColor(255,0,0), FALSE); posx = posx + 1; posy = posy + 1; } int WINAPI WinMain(HINSTANCE hi, HINSTANCE hp, LPSTR lpc, int nc){ ChangeWindowMode(TRUE); if(DxLib_Init() == -1) return(-1); SetDrawScreen(DX_SCREEN_BACK); while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){ ClsDrawScreen(); PhysicsDraw(); ScreenFlip(); } DxLib_End(); return(0); }-----------------------------------------
これではDXライブラリを使用して、直線をなぞっていくように円を表示しているだけなのですが、ここからどうやってリサージュ曲線の数式を使用した軌跡を描くように発展させていくことができるのか、まったく想像がつかない状況です。三角関数を使用してみようともしましたが、うまくいきません。詳しい解説と具体的なソースを示していただけないでしょうか?
OSはXPでVisualC++ExpressEditionを使用しています。当方の経験といたしましては、どのようにプログラムを学んでいけばよいのか学校の他教科と違いすぎてまったくわからない、といったものです。