这一天,为了寻找灵感,罗凯 (rocket) 闪现到了风吹草低现牛羊的大草原。他在 "万象大模型" 的帮助下,正在展开无穷的想像力.....
突然,罗凯想,用 10 行以内 C++ 代码能画出什么即简单又惊艳的图案?
晓凯(罗凯的昵称)席地而坐,指尖轻轻敲击着随身携带的便携编程终端,脑海里满是浩瀚太空的星河与星云。作为痴迷于太空遨游和高科技创作的少年,他总爱把太空里的见闻转化为C++ 代码作品,而今天,他想做一个能代表星际导航的极简标识。 “既然默认角色是小火箭,那我就以自己的名字‘rocket’来定义这个绘图角色吧。” 晓凯笑着敲下Sprite rocket;,给这个虚拟角色赋予了和自己一样的 “灵魂”。他首先想到了太空的深邃,于是用rocket.bgcolor("black")将画布调成了宇宙般的纯黑背景,又把画笔粗细设为 50,pensize(50)能让绘制的图案更醒目,就像太空中的巨型导航灯塔,再将绘图速度调至 0,只为精准控制每一笔的轨迹。 为了画出对称又有仪式感的图案,晓凯把画笔的色相调为0,即红色,然后 rocket 角色左转 45 度,抬笔后退 200 步找准起始位置,再落笔准备绘制。- rocket.pencolor(0).lt(45).pu().bk(200).pd();
复制代码 “接下来,该给这个图案加上太空星光的渐变质感了。” 晓凯眼睛一亮,写下了第一个循环,用penshade(i)让画笔颜色随着循环逐帧变深,就像恒星从微光到璀璨的燃烧过程,每前进 1 步就延时 0.01 秒,wait(0.01)能让渐变效果更细腻,肉眼清晰可见光影的流转,这是他从太空观测中得到的灵感 —— 宇宙中的光影变化,从来都不是一蹴而就的。
[code]for(int i=0;i |