23| 5
|
[项目] 【花雕学编程】Arduino动手做(199)--递减同心填充三角形 |
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验一百九十九:蓝屏LCD12864液晶屏 带中文字库 带背光12864-5V 并口串口 项目之十:ESP32 ST7920屏幕之之绘制递减边长的同心填充三角形 实验开源代码
|
本帖最后由 驴友花雕 于 2025-5-7 11:11 编辑 代码简单解读 这段代码在 ST7920 LCD 屏幕 上实现了 同心空心三角形绘制,核心逻辑如下: 1. 初始化 ✅ u8g2.begin(); → 启动 ST7920 屏幕 ✅ u8g2.setPowerSave(0); → 确保屏幕不会休眠 ✅ u8g2.setContrast(200); → 提高对比度,让图形更清晰 ✅ u8g2.setDisplayRotation(U8G2_R2); → 让屏幕旋转 180 度 2. 递减绘制三角形 ✅ sideLength -= step; → 让三角形尺寸逐渐缩小 ✅ while (s >= minLength) → 保证三角形不小于设定的最小值 ✅ if (sideLength < minLength) sideLength = 60; → 到最小尺寸后重置为最大 3. 计算三角形坐标 ✅ 计算三角形顶点: x1 = centerX - s / 2;, y1 = centerY + s / 2; → 左下角顶点 x2 = centerX + s / 2;, y2 = centerY + s / 2; → 右下角顶点 x3 = centerX;, y3 = centerY - s / 2; → 上方顶点 ✅ drawTriangle(x1, y1, x2, y2, x3, y3); → 使用 U8g2 API 绘制空心三角形 4. 画面刷新 ✅ delay(500); → 每 500 毫秒更新一次显示 ✅ firstPage(); do { ... } while (nextPage()); → 保证绘制流畅,无闪烁 这段代码让 ST7920 屏幕不断绘制同心空心三角形,从大到小循环展示。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed