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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分形之龙形曲线(Dragon Curve)

發(fā)布時(shí)間:2025/3/14 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分形之龙形曲线(Dragon Curve) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ??龍形曲線(Dragon Curve)又叫分形龍,是一種自相似碎形曲線的統(tǒng)稱,因形似龍的蜿蜒盤曲而得名。

? ? ? 一種簡(jiǎn)單的生成分形龍的方式是:拿著一條細(xì)長(zhǎng)的紙帶,把它朝下的一頭拿上來,與上面的一頭并到一起。用一句簡(jiǎn)單的話說,就是將紙帶對(duì)折。接著,把對(duì)折后的紙帶再對(duì)折,又再對(duì)折,重復(fù)這樣的對(duì)折幾十次……這就生成了分形龍的圖形.

?

? ? ? 上一節(jié)講的是分形之列維(levy)曲線,它是將一條線段不停地分形成兩條長(zhǎng)度相等且相互垂直的線段,而生成的.分形龍的生成方式與列維曲線相似,也是將線段不停地分形成兩條長(zhǎng)度相等且相互垂直的線段,不同之處是其對(duì)折的方向是一個(gè)左一個(gè)右,而列維曲線則是始終朝著一邊對(duì)折.其核心代碼如下:

static void FractalDragon(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices, bool left) {Vector3 vSub = vEnd - vStart;pVertices[0] = vStart;pVertices[2] = vEnd;Yreal alfa = atan2f(vSub.y, vSub.x);if (left){alfa += YD_REAL_PI/4;}else{alfa -= YD_REAL_PI/4;}Yreal l = D3DXVec3Length(&vSub)/YD_REAL_SQRT_2;pVertices[1].x = vStart.x + cosf(alfa)*l;pVertices[1].y = vStart.y + sinf(alfa)*l;pVertices[1].z = 0.0f; }

?

這是個(gè)3D程序,鼠標(biāo)右鍵的拖動(dòng)可以改變視角.

參考:http://blog.sciencenet.cn/blog-677221-601957.html

軟件下載地址:http://files.cnblogs.com/WhyEngine/Fractal.7z

轉(zhuǎn)載于:https://www.cnblogs.com/WhyEngine/p/4013245.html

總結(jié)

以上是生活随笔為你收集整理的分形之龙形曲线(Dragon Curve)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。