给零基础朋友的编程课09 下 - 案例5讲解_哔哩哔哩_bilibili
Code:
/
// 彩色案例 艺术仿制品4 //
/
// 色表 //
// 238,150,43 橙
// 229,207,192 暖灰
// 204,50,47 暗红
// 项目设定
size(825, 984); // 设置画布(窗口)尺寸
background(238,150,43); // 设置背景颜色-橙
// 绘制 //
noStroke(); // 不要描边
fill(229,207,192); // 填充-暖灰
// 1矩形
rect(300,-10, 165,745, 6); // 6 为倒角的尺寸
// 2半圆
arc(555,270, 512,512, -0.5*PI,0.5*PI);
strokeCap(SQUARE); // 无线头
int sw = 40; // 线宽
int gap = 10; // 贝塞尔曲线两头的间隔
int strength = 6; // 曲线抬起的距离-影响平缓程度
strokeWeight(sw); // 设置线宽
stroke(204,50,47); // 线色-暗红
// 3曲线
// a垂线
line(512,-1, 512,765-gap+1);
// b中部曲线
bezier( // 上弧角
//x y
512, 765-gap, // 起
512, 765+sw*0.5-strength, // 起控
512-sw*0.5, 765+sw*0.5, // 端控
512-sw*0.5-gap, 765+sw*0.5 // 端
);
gap = 18; // 更新弧的首尾间隙大小 10->18
// 左大弧
line( // 上水平线
//x y
512-sw*0.5-gap+8+1, 765+sw*0.5, // 起
350+gap-1, 765+sw*0.5 // 端
);
bezier( // 左上弧
//x y
350+gap, 765+sw*0.5, // 起
350+gap, 765+sw*0.5, // 起控
350-sw*0.5, 765+sw*0.5, // 端控
350-sw*0.5, 765+sw*1.0+gap // 端
);
line( // 左中垂线
//x y
350-sw*0.5, 765+sw*1.0+gap-1, // 起
350-sw*0.5, 765+sw*2.0-gap+1 // 端
);
bezier( // 左下弧
//x y
350-sw*0.5, 765+sw*2.0-gap, // 起
350-sw*0.5, 765+sw*2.5, // 起控
350+gap, 765+sw*2.5, // 端控
350+gap, 765+sw*2.5 // 端
);
line( // 下水平线
//x y
350+gap-1, 765+sw*2.5, // 起
512-sw-gap, 765+sw*2.5 // 端
);
gap = 20; // 更新弧的首尾间隙大小 18->20
// 右大弧
bezier( // 右上弧
//x y
512-sw-gap, 765+sw*2.5, // 起
512-sw-gap, 765+sw*2.5, // 起控
512-gap, 765+sw*2.5, // 端控
512-gap, 765+sw*3.5+1 // 端
);
// 右下垂线可以简化为一个点:512-gap, 765+sw*3.5
bezier( // 右下弧
//x y
512-gap, 765+sw*3.5, // 起
512-gap, 765+sw*4.5, // 起控
512-sw-gap, 765+sw*4.5, // 端控
512-sw-gap, 765+sw*4.5 // 端
);
// c水平线
line(
512-sw-gap+1, 765+sw*4.5, // 起
0, 765+sw*4.5 // 端
);
fill(204,50,47); // 填充-暗红
// 4文字
textSize(27);
text("lerning processing", 555,965);