我正在写一个程序来生成一些狂野的视觉效果。到目前为止,我可以为每个像素绘制一个随机的蓝色值:
for (y = 0; y < YMAX; y++) {
for (x = 0; x < XMAX; x++) {
b = rand() % 255;
setPixelColor(x,y,r,g,b);
}
}我想做的不仅仅是制造蓝色噪音,但我不确定从哪里开始(Google今天对我帮助不大),所以如果你能分享你对这个主题的任何了解或一些相关资源的链接,那就太好了。
发布于 2010-04-15 17:45:32
我以前也玩过这样的把戏。不幸的是,我没有代码:-/
位运算符和整数算术运算符可以产生什么样的效果,这会让您感到惊讶:
FRAME_ITERATION++;
for (y = 0; y < YMAX; y++) {
for (x = 0; x < XMAX; x++) {
b = (x | y) % FRAME_ITERATION;
setPixelColor(x,y,r,g,b);
}
}对不起,我不记得确切的密码了,所以b = (x | y) % FRAME_ITERATION;
可能真的不会渲染出任何漂亮的东西。但是,你可以尝试你自己的组合。
无论如何,使用上面的代码,你可以产生奇怪的模式,甚至水一样的效果。
发布于 2010-04-15 17:30:02
波形通常是用trig函数(sin/cos)或近似它们的表完成的。
你也可以用一些简单的数学运算来做一些很酷的水波。有关代码和在线演示,请参阅here。
https://stackoverflow.com/questions/2644088
复制相似问题