10.剪切区域

  • 学习人数 15K+
  • 适合有C语言基础人群学习
avatar
林耿亮

你好编程主讲老师

剪切区域

本节中的所有代码窗体大小均为800 * 800。坐标系原点在窗体中心,X轴正方向向右,Y轴正方向向上。

1. 圆组成的花

圆规画花

以上图形由若干圆形构成。坐标轴原点设置在窗体中心,X正方向向右,Y轴正方向向上。设中心圆的圆心坐标为(0 ,0),半径为150。其他6个圆的圆心等间隔分布在中心圆的圆周上,半径均为150。可以根据三角函数计算出其他6个圆的圆心坐标。

圆心1: x = cos(0°) * ry = sin(0°) * r 圆心2: x = cos(60°) * ry = sin(60°) * r 圆心3: x = cos(2 * 60°) * ry = sin(2 * 60°) * r 圆心4: x = cos(3 * 60°) * ry = sin(3 * 60°) * r 圆心5: x = cos(4 * 60°) * ry = sin(4 * 60°) * r 圆心6: x = cos(5 * 60°) * ry = 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();
}

圆规画花效果