블로그는 나의 힘!
[ Programing ]/API2009. 12. 29. 12:11

//======================================================================
//. 하트 그리는 방정식
//. 17x²-16|x|y+17y²=225
//. 위 방정식의 궤적을 그리면 하트모양이 나온다.

CClientDC dc(this);

double r = 0,  t = 0;     //. 극 좌표
double x = 0, y = 0;     //. 평면 좌표
double e = 0;              //. 에러수 체크

//. 원주율 * 2
while(t < 6.28)
{
     if(t > 3.14)   r     = sqrt(225.0 / (17.0 + 8 * sin(2.0 * t)));
     else            r     = sqrt(225.0 / (17.0 - 8 * sin(2.0 * t)));

      //. 평면 좌표계를 극좌표계로 치환한다.
      //. x = r * cos(0);   y = r * sin(0);
      x     = r * sin(t);
      y     = r * cos(t);

      ////. 에러체크
      //e   = 17.0 * x * x - 16.0 * fabs(x) * y + 17.0 * y * y - 255;

      //. 해당 평면좌표에 픽셀을 찍는다.
      dc.SetPixel((x * 50) + 500, (y * 50) + 200, RGB(255, 0, 0));

      //. 정밀도( 숫자가 작아질수록 점이 정밀해준다. )
      t     += 0.0001;
}


//======================================================================



출저 : 게임 코디(gamecode.com) 사이트   검은괭이님

http://www.gamecodi.com/board/zboard.php?id=GAMECODI_Tip&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=178

Posted by Mister_Q