# include & ltgraphics.h & gt
# include & ltmath.h & gt
/* 장미 */
# fnx 정의 (x) (int) (XO+(x) *1.0)
# fny 정의 (y) (int) (getmaxy ()-(yo+(y) *1.0))
# fn x2(φ)cos(φ)* AC-sin(φ)* bs 정의
# fn y2(phi)cos(phi)* 를 +sin(phi)*bc 로 정의
/* 회전된 타원 그리기 */
Void elli(int XO, int yo, int a, int b, double theta)
{
Int I;;
이중 da, c, s, AC, as, BC, bs, xf, YF, phi, x, y;
θ = 세타 * 0.01745;
Da = 3 * 0.1745;
C = cos (θ);
S = sin (θ);
AC = a * c;; As = a * s;;
BC = b * c;; Bs = b * s;;
X = fnx2 (0);
Y = fny2 (0);
Moveto(FNX(x), fny (y));
For (I =1; 나 & lt=360; I++)
{
Phi = I * da
Xf = x * cos (phi) * 0.1;
Yf = b * sin (phi) * 0.1;
X = fn x2 (파이) :
Y = fny2 (파이);
레인토 (FNX(x), FNY (Y));
}
}
/* 꽃 */
후아 (int x, int y)
{
레지스터 I;
/* 분홍색 장미 그리기 */
Setcolor (12);
호 (x+65, y-60,150,350,8);
호 (x+66, y-54, 300, 470, 8);
호 (x+65, y-56, 30, 230,10);
호 (x+64, y-57,300,490,17);
타원 (x+73, y-30, 250, 450, 27, 40);
타원 (x+59, y-30, 100, 290, 27, 40);
타원 (x+65, y-40, 140, 270, 20, 30);
Setfillstyle(SOLID_FILL, 5);
확산 (x+65, y-20,12);
/* 빨간 장미 그리기 */
호 (x, y,150,350,12);
호 (x+ 1, y+8,280,470,12);
호 (x, y+2,30,230,16);
호 (x, y+3, 80, 240, 28);
Arc(x+2, y+8,180,330,22);
Arc(x-2, y+2, 3 10/0,460,25);
타원 (x- 12, y+30,120,300,30,40);
타원 (x+ 10, y+28,250,423,30,42);
타원 (x-4, y y+ 10/0,290,393,30,40);
Setfillstyle(SOLID_FILL, 4);
플로드 파일 (x+5, y+3 1,12);
/* 보라색 꽃과 뼈 그리기 */
타원 (x+ 120, y+5, 0, 360, 15, 25);
Setfillstyle(SOLID_FILL,1);
확산 (x+ 120, y,12);
/* 노란 꽃과 뼈를 그립니다 */
타원 (x-70, y y+ 10/0,0,360,14,20);
Setfillstyle(SOLID_FILL,14);
확산 (x-70, y+ 10,12);
Setcolor (10);
/* 빨간 꽃받침을 하나 그려라 */
타원 (x- 15, y+32, 190, 3 10, 30,35);
타원 (x+ 16, y+32,235,355,26,35);
타원 (x, y+35,190,350,43,50);
호 (x, y+82,190,350,6);
Setfillstyle(SOLID_FILL, 2);
플로드 파일 (x, y+75,10);
/* 분홍색 꽃받침 그리기 */
타원 (x+50, y-48, 190, 320, 22, 50);
타원 (x+80, y-48, 220, 350, 22, 50);
타원 (x+65, y-28, 180, 360, 36, 50);
확산 (x+65, y+ 18,10);
/* 주 분기 그리기 */
For(I = 0;; 나<3; I++)
{
타원 (x-98, y+ 100+i, 255, 37 1, 100,80);
타원 (x-20, y+30+i, 260, 358, 140,140);
타원 (x+224, y+20+i, 180, 2 18, 160,/kloc-
}
/* 옆 가지 그리기 */
타원 (x+70, y+34, 180, 233, 140,140);
타원 (x, y+40, 205, 255, 100,120);
타원 (x+ 135, y-30, 209, 249, 72,120);
타원 (x, y+20, 263, 30 1, 100,120);
타원 (x+85, y y- 10/0,278,305, 100,120);
타원 (x+ 100, y-62, 282, 308, 90,120);
타원 (x-50, y y- 10/0,277,314,30,120);
타원 (x+70, y+80, 222, 266, 52,120);
타원 (x-60, y-45, 229, 266, 52,120);
타원 (x+79, y-45, 229, 266, 52,120);
타원 (x+84, y, 224, 273, 52,120);
타원 (x+ 1 10, y+40, 240, 282, 100,1;
/* 보라색 꽃을 그린 꽃받침 */
타원 (x+ 120, y-6, 200, 340, 17, 25);
타원 (x+ 120, y+7,160,380,17,27);
확산 (x+ 122, y+30,10);
/* 노란 꽃송이를 그린 꽃받침 */
타원 (x-70, y+ 15,140,390,17,20);
타원 (x-75, y y- 10/0,205,340,10,30);
타원 (x-60, y- 10, 195, 340, 5, 30);
확산 (x-70, y+32,10);
/* 나뭇잎 그리기 */
/* 오른쪽 잎 그리기 */
Elli(x+ 168, y+282, 10, 20,-40);
Elli(x+ 160, y+252, 8,16,260);
Elli(x+ 145, y+270, 8, 16,-15);
Elli(x+ 156, y+224, 10, 20,-45);
Elli(x+ 150, y+200, 8,16,270);
Elli(x+ 135, y+220, 8, 16,-10);
Elli(x+ 146, y+ 144, 8, 16,-80);
Elli(x+ 130, y+ 130, 6,12,235);
Elli(x+ 125, y+ 154, 7, 14,-10)
Elli(x+78, y+98, 6, 12,-90);
Elli(x+60, y+90, 5, 10,180);
Elli(x+70, y+ 109, 5, 10,-45);
/* 왼쪽에 나뭇잎 그리기 */
Elli(x- 125, y+270, 12, 24,60);
엘리 (x-95, y+270, 10, 20,10);
Elli(x- 1 10, y+245, 10,20,90);
Elli(x- 105, y+220, 10, 20,45);
Elli(x- 100, y+ 190, 8, 16,135)
Elli(x-75, y+2 10, 8, 16,-45);
/* 중간에 나뭇잎을 그립니다 */
Elli(x+65, y+ 190, 10, 20,-45);
Elli(x+40, y+ 185, 8,16,0);
Elli(x+55, y+ 165, 8,16,90);
}
/* 마스터 프로그램 */
주 ()
{
Int driver=VGA, mode = VGAHI
Registerbgidriver (egavga _ driver);
Initgraph (& 운전자 & ampmode, "c: \ TC");
Cleardevice ();
화 (450,90);
Set color (2);
직사각형 (0,0,639,479);
Getch ();
Closegraph ();
}