剪切区域
本节中的所有代码窗体大小均为800 * 800。坐标系原点在窗体中心,X轴正方向向右,Y轴正方向向上。
1. 圆组成的花
以上图形由若干圆形构成。坐标轴原点设置在窗体中心,X正方向向右,Y轴正方向向上。设中心圆的圆心坐标为(0 ,0),半径为150。其他6个圆的圆心等间隔分布在中心圆的圆周上,半径均为150。可以根据三角函数计算出其他6个圆的圆心坐标。
圆心1: x = cos(0°) * r
, y = sin(0°) * r
圆心2: x = cos(60°) * r
, y = sin(60°) * r
圆心3: x = cos(2 * 60°) * r
, y = sin(2 * 60°) * r
圆心4: x = cos(3 * 60°) * r
, y = sin(3 * 60°) * r
圆心5: x = cos(4 * 60°) * r
, y = sin(4 * 60°) * r
圆心6: x = cos(5 * 60°) * r
, y = sin(5 * 60°) * r
可以将其写成循环:
for (int i = 0; i < 6; i++)
{
int x, y;
x = cos(i * PI / 3) * r;
y = sin(i * PI / 3) * r;
circle(x, y, r);
}
完整代码如下:
#include <easyx.h>
#include <stdio.h>
#include <math.h>
#define PI 3.14
int main()
{
initgraph(800, 800);
setorigin(400, 400);
setaspectratio(1, -1);
setbkcolor(WHITE);
cleardevice();
setlinecolor(BLACK);
setlinestyle(PS_SOLID, 10);
int r = 150;
circle(0, 0, r);
for (int i = 0; i < 6; i++)
{
int x, y;
x = cos(i * PI / 3) * r;
y = sin(i * PI / 3) * r;
circle(x, y, r);
}
getchar();
closegraph();
}