C语言,easyx,绘制一个三角形。

#include<stdio.h>

#include<easyx.h>//图形库头文件

int main()

{

 initgraph(800,600);//创建一个窗口,宽度为800,高度为600

 setorigin(400, 300);//以物理坐标为基准设置逻辑坐标的原点

 setaspectratio(1, -1);//实现坐标轴的翻转,-1把y轴翻转

 POINT points[] = { {0,200},{200,-200},{-200,-200} };//储存3个点坐标

 polygon(points, 3);//polygon函数绘制多边形,把3个点依次相连,形成三角形

 getchar();//暂时阻塞程序,等待用户按键关闭

 closegraph();//关闭绘图窗体函数

 return 0;

}

 绘制一个三角形。

 

### 使用C语言绘制谢尔宾斯基三角形 #### 方法一:基于位运算的字符打印方式 一种简单的方式是通过位运算来决定何时打印星号(*),这种方法不需要复杂的图形库支持。代码如下: ```c #include <stdio.h> #define SIZE (1 << 3) int main() { int x, y, i; for (y = SIZE - 1; y >= 0; y--, putchar('\n')) { for (i = 0; i < y; i++) { putchar(' '); } for (x = 0; x + y < SIZE; x++) { printf((x & y) ? " " : "*"); } } return 0; } ``` 此程序利用了二进制特性,在特定条件下输出`*`形成图案[^3]。 #### 方法二:使用图形库绘图 另一种更直观的方法是借助图形库(如EasyX),可以创建窗口并精确地绘制几何形状。下面是一个完整的例子: ```c #include <graphics.h> // EasyX 图形库头文件 #include <conio.h> void sb(int x1, int y1, int x2, int y2, int x3, int y3); // 定义递归函数sb用于绘制分形结构 void sb(int x1, int y1, int x2, int y2, int x3, int y3){ line(x1, y1, x2, y2); line(x2, y2, x3, y3); line(x3, y3, x1, y1); } int main(){ initgraph(1000, 750); // 初始化图形模式 setbkcolor(WHITE); // 设置背景颜色为白色 cleardevice(); setcolor(BLACK); // 设置线条颜色为黑色 sb(500, 100, 700, 600, 300, 600); // 调用自定义函数,绘制一个三角形作为基础 getch(); // 等待按键输入关闭图像窗体 closegraph(); // 关闭图形界面 return 0; } ``` 这段代码展示了如何初始化图形环境、设置色彩属性以及调用递归函数完成最终效果[^2]。 为了进一步增强功能,还可以加入更多参数控制迭代次数或其他视觉特效,但这已经足以展示基本原理和技术细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值