日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

超纯超美的曲线(Peter De Jong Attractor)

發布時間:2025/7/25 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超纯超美的曲线(Peter De Jong Attractor) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from: http://blog.csdn.net/jia20003/article/details/7198612

無意之中在網上看到一篇基于HTML5 Demo的Peter De Jong 吸引子生成圖像的Demo,沒Hold住,

感覺太漂亮了。于是想研究一下,發現有個專業術語 - 分形。一位大師這樣評價分形學科 - “it is not about?

math, it is about art”?顯然有時候程序員也是有點藝術細胞。


效果圖一


效果圖二


效果圖三:


產生原理

基于Peter De Jong公式:Peter De Jong的數學公式如下:

Xn+1 = sin(a*yn) - cos(b*xn)

Yn+1 = sin(c*xn) - cos(d*yn)

從一個隨機的點P(x0, y0)開始得到下一個P(xn,yn)然后令 Xn = Xn+1, Yn = Yn+1

迭代產生更多數據。

?

算法實現

算法實現基于分形火焰算法,首先根據迭代的出來的數據點,使用直方圖統計算法得到指定大小直方圖數據點,

然后再根據直方圖的結果實現像素繪制和顏色,透明度生產。關于分形火焰算法可以參考這里 :

?http://en.wikipedia.org/wiki/Fractal_flame

?完成隨機點產生與直方圖統計代碼:

[java] view plaincopy
  • <span?style="font-weight:?normal;">private?void?getPoint()?{??
  • ??
  • ????????la?=?a;??
  • ????????lb?=?b;??
  • ????????lc?=?c;??
  • ????????ld?=?d;???
  • ??????????
  • ????????//?Add?Noise?to?Coefficients?for?Smoothness??
  • ????????if?(noise)?{??
  • ????????????la?+=?getRandom();??
  • ????????????lb?+=?getRandom();??
  • ????????????lc?+=?getRandom();??
  • ????????????ld?+=?getRandom();??
  • ????????}??
  • ??????????
  • ????????//?*************************************************??
  • ????????//?**?Update?Temp?Variables?--?Magic??
  • ????????xn?=?(float)(Math.sin(la?*?y)?-?Math.cos(lb?*?x));???
  • ????????yn?=?(float)(Math.sin(lc?*?x)?-?Math.cos(ld?*?y));???
  • ??????????
  • ????????//?color?here??
  • ????????zn?=?(float)(Math.sin(e?*?x)?-?Math.cos(f?*?z));???
  • ??????????
  • ????????//?take?current?result?as?x0,y0,z0?in?order?to?calculate?next?xn,yn,zn??
  • ????????x?=?xn;??
  • ????????y?=?yn;??
  • ????????z?=?zn;??
  • ??????????
  • ????????//?Convert?to?2D?Image?Space?for?Plotting??
  • ????????u?=?(int)?((x?+?2.5)?*?K);???
  • ????????v?=?(int)?((y?+?2.5)?*?K);??
  • ??
  • ????????tr?=?(float)(z?*?0.9?+?(1.0?-?z)?*?0.6);?//?Map?Z-Coordinate?to?Color??
  • ????????tg?=?(float)(z?*?0.2?+?(1.0?-?z)?*?0.4);??
  • ????????tb?=?(float)(z?*?0.5?+?(1.0?-?z)?*?0.9);??
  • ??????????
  • ????????pList[u][v][0]?+=?1.0f;?//?alpha?value,?normalization?factor,?must?have?it??
  • ????????pList[u][v][1]?+=?tr;?//Add?New?Point?to?Total??
  • ????????pList[u][v][2]?+=?tg;????
  • ????????pList[u][v][3]?+=?tb;??
  • ????}??
  • </span>??

  • 結果歸一化與像素繪制代碼:

    [java] view plaincopy
  • <span?style="font-family:Arial,?Verdana,?sans-serif;"><span?style="white-space:?normal;"><span?style="font-family:monospace;"><span?style="white-space:?pre;"></span></span></span></span><pre?name="code"?class="java"><span?style="font-weight:?normal;">?private?void?renderPoints(int[]?rgbData)?{??
  • ????????float?max?=?-1.0f;??
  • ????????for?(int?i=0;?i?<?nSize;?i++)?{??
  • ??????????for?(int?j=0;?j?<?nSize;?j++)?{??
  • ??????????????if?(pList[i][j][3]?>?max){??
  • ????????????????max?=?pList[i][j][3];??
  • ????????????????}??
  • ??????????????}??
  • ??????????}??
  • ??
  • ????????//Adjust?Values?and?Fill?Image??
  • ????????float?logval,?logmax?=?(float)Math.log(max);??
  • ????????float?M?=?(float)((logmax?*?logmax)?/?255.0f);??
  • ????????int[]?color?={0,0,0,0};??
  • ????????for?(int?i=0;?i?<?nSize;?i++)?{??
  • ????????????for?(int?j=0;?j?<?nSize;?j++)?{??
  • ??????????????for?(int?k=0;?k?<?4;?k++)?{??
  • ????????????????logval?=?(float)Math.log(pList[i][j][k]);??
  • ????????????????color[k]?=?(int)?(logval?*?logval?/?M);??
  • ??????????????}??
  • ??????????????//?rgbData[j*nSize?+?i]?=?(color[0]?<<?24)?|?(color[1]?<<?16)?|?(color[2]?<<?8)?|?color[3];??
  • ??????????????rgbData[j*nSize?+?i]?=?(255?<<?24)?|?(color[1]?<<?16)?|?(color[2]?<<?8)?|?color[3];??
  • ??????????}??
  • ????????}??
  • ????}</span></pre>??
  • <pre></pre>??
  • <p></p>??
  • <pre></pre>??
  • <br>??
  • <p></p>??
  • <p>隨機產生參數?a,?b,c,d,e,f值區間在[-3,3]之間,可以得到你認為很cool的效果。</p>??
  • <p>算是送給大家的2012新年禮物吧,程序完全是基于Java語言實現。</p>??
  • <br>??
  • <pre></pre>??
  • ??????
  • ????????<div?style="padding-top:20px">???????????
  • ????????????<p?style="font-size:12px;">版權聲明:本文為博主原創文章,未經博主允許不得轉載。</p>??
  • ????????</div>?

  • 總結

    以上是生活随笔為你收集整理的超纯超美的曲线(Peter De Jong Attractor)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成年人免费看毛片 | 成人精品久久 | 在线色 | 以女性视角写的高h爽文 | 国产精品夜夜嗨 | 国产小视频91 | 国产xxxx做受性欧美88 | 在线观看免费www | 免费看黄色片的网站 | 免费在线观看黄色av | 免费在线观看成人av | 国产一级片子 | 日韩精品www | 成人中文字幕+乱码+中文字幕 | 亚洲精品视频在线 | 国产一区二区网址 | 欧美日韩精品综合 | 亚洲精品天堂成人片av在线播放 | 黄色三级视频网站 | 久精品免费视频 | 91午夜在线观看 | 公车乳尖揉捏酥软呻吟 | 一级黄色在线视频 | 日日夜夜精品视频 | 潮喷失禁大喷水aⅴ无码 | 波多野结衣久久 | 日韩有码av | 爱色av网站 | 黄色大片国产 | a级黄色片网站 | 日韩在线观看视频一区二区 | 青草精品视频 | 国产黄色av网站 | 操比视频网站 | 一区二区三区伦理片 | 毛片大全| 精品色哟哟| 国产视频1区2区3区 国产欧美一区二区精品性色99 | 少妇精品久久久一区二区三区 | 中文字幕欧美一区 | 中文字幕日韩在线播放 | xxx一区二区 | 五月激情四射网 | 五月天婷婷激情 | 你懂的在线网站 | 久久久免费看 | 超碰在线公开 | 久久中文字幕一区二区 | 亚洲高清av | 一区二区免费在线播放 | 久操网在线 | 丁香婷婷深情五月亚洲 | 亚洲最大福利视频网 | 激情欧美一区二区免费视频 | 亚洲国产精品狼友在线观看 | 国产一区二区视频播放 | 精品久久久国产 | 亚洲黄色片子 | 久久国产麻豆 | 黄网站免费看 | 呦呦视频在线观看 | 国产欧美综合在线 | 国产伦精品一区二区三区四区 | 精品视频免费观看 | 国内一级黄色片 | 亚洲欧美日韩久久精品 | 色欲狠狠躁天天躁无码中文字幕 | 亚洲图片自拍偷拍区 | 日韩怡红院 | 乱色熟女综合一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 成人免费福利视频 | 色先锋资源网 | 国产精品一二三四五区 | 顶级毛茸茸aaahd极品 | 日本不卡在线 | 国产一区欧美 | 免费三片在线观看网站v888 | 91蜜桃婷婷狠狠久久综合9色 | 亚洲视频一区二区三区 | 在线看v片 | 少妇被粗大猛进进出出s小说 | 毛片一级在线观看 | 日本黄色视屏 | 亚洲少妇网 | 97爱爱视频 | 精品日韩一区二区三区四区 | 精品亚洲一区二区三区 | 欧美日韩一区二区三区免费 | 国产精品久久久 | 高清福利视频 | 人人干人人舔 | 羞辱极度绿帽vk | 婷婷久久亚洲 | 亚州精品国产精品乱码不99按摩 | av影片在线观看 | 亚洲黄色av网站 | xx69欧美| 国产真实乱人偷精品人妻 |