如何用正方块无间隙填充平面?Processing实现技术求助
实现正方块无间隙填充平面的Processing方案
基础实现思路
最直接的方式是用嵌套循环遍历画布的x、y轴,按固定的正方形尺寸间隔绘制矩形,就能实现无间隙铺满。
完整代码示例
void setup() { size(600, 600); // 画布大小设为方块尺寸的整数倍,避免边缘出现半块 noStroke(); // 取消边框,防止边框占用空间产生间隙 } void draw() { background(255); int squareSize = 50; // 自定义正方形大小 // 横向遍历 for (int x = 0; x < width; x += squareSize) { // 纵向遍历 for (int y = 0; y < height; y += squareSize) { // 随机填充颜色(可根据需求替换为固定色或其他规则) fill(random(255), random(255), random(255)); // 绘制正方形:x/y为左上角坐标,后两个参数是宽高(正方形宽高一致) rect(x, y, squareSize, squareSize); } } }
关键细节说明
- 画布尺寸建议设为正方形大小的整数倍,这样边缘不会出现不完整的方块;如果不需要完整边缘,直接用
width和height作为循环上限即可,程序会自动绘制到画布边界。 noStroke()必须加上,否则矩形的边框会占据额外像素,导致方块之间出现细微间隙。- 颜色部分可以灵活调整:比如用固定色、按行列规律变色,或者根据坐标计算颜色,都能适配不同的视觉需求。
参考资料
- Processing官方文档中
rect()函数的说明:详细了解矩形绘制的参数、对齐方式等细节,帮助你调整方块的位置和形态。 - Processing循环控制教程:掌握嵌套循环的逻辑,这是绘制网格类图形的核心技巧,能延伸到更多复杂的平面填充场景。
内容的提问来源于stack exchange,提问作者Yura Solokha
相关产品推荐
相关产品推荐

