彩虹色带
mathcad吧
全部回复
仅看楼主
level 15
月城翁 楼主
如何做出彩虹的色带?
这个问题,我很长时间没闹清楚。
http://bbs.csdn.net/topics/390811585的帖子中的7楼unituniverse2老师画了一张图,才使我茅塞顿开,眼前豁然开朗。
然而,如何编成好的MC程序却又让我纠结了好久。这几月,采用了多种方案编写,都能用,但是总摆脱不了多个for循环,于心不甘。今夜突然来了灵感,觉也不睡了,立马写了出来。颇觉满意。
立即上帖,与吧友同乐。
unituniverse2老师画的图:
2015年11月18日 18点11分 1
level 15
月城翁 楼主
在此谨向unituniverse2老师致谢、致敬。
没有这张图,不知我还要混沌多久。
2015年11月18日 18点11分 2
level 15
月城翁 楼主
MC中规定色带数据不能多于256行,而Co有1536行,所以还得压缩。
按图示压缩后,可以作为MC的3D图的颜色映射文件使用。按图示,可以得到名为mymap的颜色映射文件。mymap比MC内置的“彩虹”的颜色要明亮些、靓丽些。
下面左图是“彩虹”映射着色,右图是mymap映射着色:
2015年11月18日 20点11分 3
level 12
最后这一步没想到,谢谢哈!
2015年11月18日 23点11分 4
level 11
学习了
2015年11月18日 23点11分 5
level 15
月城翁 楼主
这次重写彩虹色带程序,缘起于昨天在https://tieba.baidu.com/p/4164026563的19楼中使用该程序时,感觉不爽。
gray_to_rgb()函数可以给无色的矩阵加上颜色,它要求在色带B的数据矩阵左侧,即第0列,再加上相应行的行号。
我用旋转的自然数的方阵做试样。方法在图中都有,不再啰嗦。
左侧加上1列序号:
生成一个16*16的旋转的RGB值的方阵:
着色:
2015年11月19日 00点11分 6
level 13
很好,很好!
2015年11月20日 03点11分 7
level 11
还没有涉足过在mc中处理图形矩阵。
这里有一篇与
图形有关又与随机有关的文章
《遗传算法,内存中的进化》
http://songshuhui.net/archives/10462
不知能不能在mc中实现,想来挺有难度的。
要处理透明叠加,要实现图元变异,要量化图形相似度,还要能演化多代。
不过分解成一个一个小目标的话,应该还是可以逐一攻破的。
2015年11月23日 07点11分 8
谢谢!上文已读。遗传算法的文章以前也接触过,但没有实践过。MC只能做些小打小闹的思路的印证工作。循环过多,或像素太多的工作,MC只好灯泡一直闪,等不到结果。
2015年11月23日 08点11分
@月城翁 嗯是的可以想见。
2015年11月23日 08点11分
level 15
月城翁 楼主
您这个问题,我没见过其他人是怎么做的。以我之见,有点麻烦。
用2D的XY作图,把0-L的值域分成16段,但是只需计算8段,另一半是对称的。之所以分成16段是因为MC对于2D-XY作图,最多只能有16个函数。把这8段的每一段各用一种颜色表示。后8段与前面的作中轴对称即可。
用RGB作图,理论上可以做到,但是要编程序,有点麻烦。而且没有分隔线。
或许可以用3D来做,这方面我比较生。请参看Inside的作图部分,其中有很多技巧。我也没有完全看明白。
2015年12月16日 05点12分 10
RGB图可以做出分隔线来。
2015年12月16日 06点12分
level 15
月城翁 楼主
这是用2D-XY做的图像。颜色请自行调整。第一道黑条左侧有一竖道非黑色,我没有找到原因。
2015年12月16日 08点12分 11
2D-XY绘图那个柱形图颜色是手工设置的吧,如果可以根据y值来自动确定颜色,这样是不是编一个矩阵就可以解决了?一列是长度等分n份,一列是对应的y值包括颜色。可能这个想法不太显示。
2015年12月17日 00点12分
@ningye6101 "显示"打错了,应该是“现实”。
2015年12月17日 02点12分
自动调色得修改MC的底层程序,我没有看到这类资料。无能为力,只好手动调色。
2015年12月17日 03点12分
level 15
月城翁 楼主
RGB图像:
2015年12月16日 13点12分 14
谢谢月城老师的解答,今天一直忙碌,刚闲下来,就看到老师做了那么多,很感谢。我先消化一下您所编写的内容。很感谢。
2015年12月16日 14点12分
不要叫我老师,不敢当。大家相互交流、学习。
2015年12月16日 14点12分
level 15
月城翁 楼主
把程序稍作修改,可以适用于更多的曲线(y值大于零):
2015年12月16日 15点12分 15
看来这个问题想完美解决,真的不是件容易的事情。
2015年12月17日 00点12分
level 15
月城翁 楼主
修改了程序,可对不复杂的曲线做出RGB图。
2015年12月17日 03点12分 18
level 15
月城翁 楼主
2015年12月17日 04点12分 19
level 15
月城翁 楼主
下面这个图是上面的图的垂直翻转。在图片工具栏中点击第一行第四列的图标来实现。
2015年12月17日 04点12分 20
1 2 尾页