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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

分形之万花筒

發(fā)布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分形之万花筒 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? 萬花筒是一種光學玩具,只要往筒眼里一看,就會出現(xiàn)一朵美麗的“花”樣。將它稍微轉一下,又會出現(xiàn)另一種花的圖案。不斷地轉,圖案也在不斷變化,所以叫“萬花筒”。萬花筒的圖案是靠玻璃鏡子反射而成的。它是由三面相交成60°角的鏡子組成的,由于光的反射定律,放在三面鏡子之間的每一件東西都會映出六個對稱的圖象來,構成一個六邊形的圖案.三面玻璃鏡子組成一個三棱鏡,再在一頭放上一些各色玻璃碎片,這些碎片經(jīng)過三面玻璃鏡子的反射,就會出現(xiàn)對稱的圖案,看上去就像一朵朵盛開的花。

? ? ? 記得小時候我就親手做過一個萬花筒,雖然非常簡陋,因為鏡子條是摔出來的,但做好后有種創(chuàng)造了另外一個世界的感覺.這一節(jié)展示下我寫的一個萬花筒的程序.程序下載地址:http://files.cnblogs.com/WhyEngine/Phantoscope.7z

? ? ? 萬花筒是由三面鏡子構成,所以其圖案是一系列的三角形網(wǎng)格,程序中最重要的是構造這種三角形網(wǎng)格.下面是生成網(wǎng)格頂點和紋理坐標的代碼:

1 void YcRegularTriangleGridDrawer::UpdateVB() 2 { 3 if (!m_pVB) 4 { 5 return; 6 } 7 8 Vector2 vOffset; 9 Vertex_UV* v; 10 Yuint index; 11 Yuint odd_even; 12 m_pVB->Lock(0, 0, (void**)&v, 0); 13 { 14 for (Yuint i = 0; i <= m_uiRow; i++) 15 { 16 odd_even = (i&0x1); 17 vOffset.x = odd_even ? m_fCellSize*0.5f : 0.0f; 18 vOffset.x -= m_fCellSize*m_uiCol*0.5f; 19 vOffset.y = (m_uiRow*0.5f - i)*m_fCellSize*YD_SIN_60; 20 21 for (Yuint j = 0; j <= m_uiCol; j++) 22 { 23 index = i*(m_uiCol + 1) + j; 24 25 v[index]._x = vOffset.x + j*m_fCellSize; 26 v[index]._y = vOffset.y; 27 v[index]._z = 0.0f; 28 29 if (odd_even) 30 { 31 v[index]._u = m_uvTexcoords[(2+j)%3].x; 32 v[index]._v = m_uvTexcoords[(2+j)%3].y; 33 } 34 else 35 { 36 v[index]._u = m_uvTexcoords[j%3].x; 37 v[index]._v = m_uvTexcoords[j%3].y; 38 } 39 } 40 } 41 } 42 m_pVB->Unlock(); 43 }

頂點有了后,三角形的索引也很重要:

1 WORD* ib; 2 Yuint odd_even; 3 Yuint index; 4 m_pIB->Lock(0, 0, (void**)&ib, 0); 5 { 6 for (Yuint i = 0; i < m_uiRow; i++) 7 { 8 odd_even = (i&0x1); 9 for (Yuint j = 0; j < m_uiCol; j++) 10 { 11 index = i*m_uiCol + j; 12 13 if (odd_even) 14 { 15 ib[index*6 + 0] = (WORD)(i*(m_uiCol + 1) + j); 16 ib[index*6 + 1] = (WORD)((i+1)*(m_uiCol + 1) + j + 1); 17 ib[index*6 + 2] = (WORD)((i+1)*(m_uiCol + 1) + j); 18 19 ib[index*6 + 3] = (WORD)(i*(m_uiCol + 1) + j); 20 ib[index*6 + 4] = (WORD)(i*(m_uiCol + 1) + j + 1); 21 ib[index*6 + 5] = (WORD)((i+1)*(m_uiCol + 1) + j + 1); 22 } 23 else 24 { 25 ib[index*6 + 0] = (WORD)(i*(m_uiCol + 1) + j); 26 ib[index*6 + 1] = (WORD)(i*(m_uiCol + 1) + j + 1); 27 ib[index*6 + 2] = (WORD)((i+1)*(m_uiCol + 1) + j); 28 29 ib[index*6 + 3] = (WORD)((i+1)*(m_uiCol + 1) + j); 30 ib[index*6 + 4] = (WORD)(i*(m_uiCol + 1) + j + 1); 31 ib[index*6 + 5] = (WORD)((i+1)*(m_uiCol + 1) + j + 1); 32 } 33 } 34 } 35 } 36 m_pIB->Unlock();

?

程序啟動后,會出現(xiàn)滿屏的三角形網(wǎng)格.

將任意一圖像文件拖入窗體內(nèi),即可看到萬花筒的樣子.

在窗體右下角會顯示拖入圖像.上面有個三角形,鼠標拖動三角形的頂點,可以改變?nèi)切蔚男螤?從而改變?nèi)f花筒的視圖.

這是個3D程序,鼠標右鍵的拖動可以改變視角.


X用于恢復為默認視角.
W用于網(wǎng)格與萬花筒的切換.
F11用于全屏切換.

?

轉載于:https://www.cnblogs.com/WhyEngine/p/3980673.html

總結

以上是生活随笔為你收集整理的分形之万花筒的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 手机免费看av片 | 亚洲综合在线网 | 尤物精品在线观看 | av动漫在线免费观看 | 91精品国产色综合久久不卡粉嫩 | 亚洲色图自拍 | av网站免费观看 | 国产tv在线观看 | 国产亚洲成av人在线观看导航 | 久久久久久国产精品免费播放 | 18禁一区二区三区 | 中文字幕一区二区三区不卡 | 二区免费视频 | 亚洲国产成人在线视频 | 伊人999 | 美日韩视频 | 男女性网站 | 国产精品99久久久久久久久久久久 | 日韩在线网址 | 国产精品久久久久久久久免费软件 | 日本人妖在线 | 久久cao | 日韩h在线观看 | 侵犯亲女在线播放视频 | 国产亚洲激情 | 在线免费观看亚洲 | 殴美一级特黄aaaaaa | 免费看的av网站 | 国产视频首页 | 国产精品电影一区二区 | 91免费视频播放 | 日本黄色免费看 | 3344av | se94se欧美| 亚洲精选久久久 | 天堂av亚洲av国产av电影 | 深夜在线 | 超碰成人在线观看 | 人人爱国产 | 男生草女生视频 | 在线观看天堂av | 色八区 | av鲁丝一区鲁丝二区鲁丝 | 少妇媚药按摩中文字幕 | 国产黄色特级片 | 日韩高清精品免费观看 | 视频在线中文字幕 | 九九精品久久 | 亚洲伊人影院 | 九九热精品视频在线 | 久久va| aaa毛片视频 | 国产精选视频在线观看 | 天天干中文字幕 | 懂色av懂色av粉嫩av分享吧 | 日本午夜三级 | www青青草 | 人人草人人搞 | 国产无遮挡又黄又爽免费视频 | 都市激情亚洲 | 蜜桃网av| 国产精品sm调教免费专区 | 射精一区二区 | 视频区图片区小说区 | 精品久久在线观看 | 中文字幕观看av | 国产成人97精品免费看片 | 欧美片一区二区三区 | 美腿丝袜亚洲综合 | 农村妇女毛片精品久久久 | 国产主播毛片 | 碧蓝之海动漫在线观看免费高清 | 久草福利在线视频 | 中文字幕在线播放第一页 | 亚洲国产精品毛片av不卡在线 | 天堂va在线 | 在线中文字幕观看 | 国产一区二区三区免费观看视频 | 国产欧美一区二区三区在线看蜜臂 | 五月婷婷六月激情 | 成人羞羞网站 | 69毛片 | 免费成人美女女电影 | 精品中文一区二区三区 | 亚洲综合在线成人 | 亚洲狼人在线 | 欧美 日韩 国产 中文 | 污污视频网站免费观看 | 国产无精乱码一区二区三区 | 快色视频在线观看 | 免费av网站观看 | 欧美人妖乱大交 | 成人xxxxx| 日韩不卡av在线 | 久久影院午夜理论片无码 | 91久久人澡人人添人人爽欧美 | 国产精品一区二区在线观看 | 国产在线观看免费视频软件 | 怡春院在线视频 |