绘制图案方法
1、所见即所得的绘制方法,缺点:不灵活、不易修改,优点:直观、简单
2、使用控制结构绘制图形,在知道需要输出的规格后,按行打印输出
如简单对比
爱心
说明:用的是Visual Studio 2015开发环境
普通爱心
带花纹的爱心图案
跳动的爱心
跳动的爱心动画需要运行程序后才可以看到
打印楼梯,同时在楼梯上方打印两个笑脸
五角星
棋盘
递归出来的美丽分形世界
世界上任何美丽的事物都可以用分形来展示出来
谢宾斯基三角
毕达哥拉斯树
科赫曲线
1次迭代
2次迭代:
而我们可以改变“+”“-”所旋转角度,从而得到自由旋转的曲线
还可以树杈的递归,三叉递归出一棵枝叶茂密的大树
一些非常好看分形壁纸,有关的算法就不清楚了
重点来了:Tweetable Mathematical Art
具体地说,参赛者需要用 C++ 语言编写 RD 、 GR 、 BL 三个函数,每个函数都不能超过 140 个字符。每个函数都会接到 i 和 j 两个整型参数(0 ≤ i, j ≤ 1023),然后需要返回一个 0 到 255 之间的整数,表示位于 (i, j) 的像素点的颜色值。举个例子,如果 RD(0, 0) 和 GR(0, 0) 返回的都是 0 ,但 BL(0, 0) 返回的是 255 ,那么图像的最左上角那个像素就是蓝色。参赛者编写的代码会被插进下面这段程序当中(我做了一些细微的改动),最终会生成一个大小为 1024×1024 的图片
控制旋转角
肥皂泡纹理
将图片转为ASCII字符画
基本思想就是用不同“亮度”的字符(每个字符有自己对应的视觉亮度)替换图片中对应亮度的那些部分,最后形成和原图亮度分布差不多的“看起来很像”的字符画
╭╮ ╭╮
││ ││
╭┴┴———————┴┴╮
│ │
│ │
│ ● ● │
│○ ╰┬┬┬╯ ○ │
│ ╰—╯ │
╰——┬O———O┬——╯
╭╮ ╭╮
╰┴————┴╯