欧美国产日韩精品-欧美国产日韩久久久-欧美国产日韩一区二区三区-欧美国产日韩在线-台湾毛片-台湾美女古装一级毛片

如何用計算機程序制作三維立體畫

來源:期刊VIP網所屬分類:應用電子技術時間:瀏覽:

  摘 要:看過立體電影的人都知道,當人的雙眼分別接收不同視角拍攝的圖像時便會產生立體感。這是由于人眼長期觀察的習慣造成的。和立體電影原理相同的立體攝影風景照片也很早就已出現。

  目前,市面上正在流行各式各樣的立體畫,其特點是從外表來看與一般的圖案很相似,但是雙眼緊盯著注視片刻后,一恍惚之間眼前便出現了畫中畫——立體像。筆者第一次看到這種畫便被發明者的創意所傾倒。利用眾所皆知的雙眼視差原理,竟能在一張平面紙上制造出如此奇幻。但是立體畫本身除了其發明者的靈感和畫面創作者的別出心裁之外,其原理上并無神秘之處。用計算機程序來實現它,可說是易如反掌。筆者用一個晚上時間,便在微機上用BASIC語言實現了簡單形體——平面圓餅的立體畫。當然,要使該程序具有完善的功能,提高其制作速度,還是應該用編譯語言(如C語言)來編寫。本文中給出的源程序借助于Windows中的.BMP圖形文件,可使大家自己制作任意形態的立體畫。

  一、立體畫的原理

  圖1中給出了這種立體照片的示意圖。左、右照片分別是人的雙眼角度上觀察一棱錐體時左右眼看到的圖像(圖2)。左眼看到的是棱錐的頂端向右錯動了一些的圖像,右眼的看到則是棱錐的頂端向左錯動了一些的圖像。如果用一張硬卡片隔開兩張照片(如圖3),@@09A04000.GIF;圖1@@

  @@09A04001.GIF;圖2@@

  @@09A04002.GIF;圖3雙眼分別看兩張畫,會看到一個立體的棱錐體。這種立體照片的觀察方法在測繪學中也早已采用。

  但是,目前的三維立體畫在形式上與這些很不相同。它是怎樣在同一張畫面上呈現立體的呢?首先,分析一下人們是怎樣從這些立體畫中看出“立體形體”的。從前面所說的可以知道,人眼要得到立體感,雙眼必須有視差,即雙眼看到的圖像應該有差異。人們在看立體畫時,都有“恍惚”一下的過程。在這過程中,雙眼的視中心發生了錯動(如圖4)。這樣@@09A04003.GIF;圖4左眼看到的是畫面的“偏左像”,右眼看到的是畫面的“偏右像”。@@只要“偏左像”和“偏右像”的內容相當于圖1的左、右照片,雙眼就會感到立體形體。那么,能否把圖1的左、右照片分別當做“偏左像”和“偏右像”,簡單重疊來得到立體畫呢?

  顯然不行。能夠合成立體畫的“偏左像”和“偏右像”是要滿足一定條件的。

  如果圖5中表現的棱錐體的表面上有圖案的話,

  @@09A04004.GIF;圖5像素a和像素a'應該具有相同的顏色,因為它們是從不同視角觀察的@@同一個實體點。像素b和像素b'、像素c和像素c'的情況與此相同。把兩幅畫分別當作“偏左圖”和“偏右圖”,部分重疊成為同一畫面時,在新的畫面上這種關系仍應該表現為a=a',b=b',c=c'(如圖6)。但這時應該注意到,在這張合成

  @@09A04005.GIF;圖6畫面上,點a'既是“偏右圖”上的點a',又是“偏左圖”上的點b。而@@一張畫面上相同坐標點的像素只可能是一種顏色,因此,產生了新的像素關系a'=b。另外,點a既是“偏左圖”上的點a,又是“偏右圖”上的點c',所以,a=c'。以此類推,點b'和點c也有類似的情況。因此出現了新的關系表示式,...'=c=c'=a=a'=b=b'=...。這就構成了立體畫面上像素必須要滿足的條件:“等顏色像素鏈”。立體畫上的所有點都從屬于某一條“等顏色像素鏈”。這就是所有立體畫圖案都呈現出某種程度上的水平周期性的原因。

  因此,對于任意立體形狀,只要構造出相應的這種“等像素鏈”,并按其規律充填圖案即可得到立體畫。但是正如前面所述,由于這種“等像素鏈”條件的約束,人們雖然可以隨意構造出各種形體的立體畫,但其立體形體的表面圖案是不能完全隨人意愿的。

  二、制作立體畫的計算機程序

  由于人的雙眼的水平性,以上的“等像素鏈”只按水平方向分布,與垂直方向無關。因此,在程序中,各個像素行的處理過程是相互獨立的。制作立體畫的程序主結構圖如圖7。

  @@09A04006.GIF;圖7 制作立體畫的程序主結構圖在以上結構圖中,關鍵是如何建立“等@@像素鏈”。具體的處理如下。對于立體形體上的每一個點,首先求出該點在“偏左圖”和“偏右圖”上的坐標。以圖1中的棱錐頂點為例,實際上其X坐標是在中心點,但由于雙眼的位置并不在其正上方,頂點在“偏左圖”上向右位移,在“偏右圖”上向左位移,而且其位移值的大小顯然與其高度有關,即該點坐標越高位移值就越大。a,b,c等點也都有這些位移。在求出一個點在“偏左圖”和“偏右圖”上的坐標后,再算出在合成圖(如圖6)上的對應坐標

  ,以建立“等像素”關系,如a=a'。當立體形體的一個水平剖面上的全部點經過以上處理后,合成圖的各條“等像素鏈”關系也就自然形成了。

  另外,由于有可能出現高點遮蓋低點的情況,“等像素鏈”的構造應該從低點到高點逐層進行,高點的“等像素”關系將替代低點的“等像素”關系。這也是程序主結構圖中“首先,對于沒有任何形體存在的背景平面構造‘等像素鏈’”的原因。

  下面給出了根據以上結構圖用C語言編寫的源程序。程序中,每一個坐標點對應一個結構型數據,它包含“前像素”、“后像素”兩個指針。“前像素”指針指向該坐標點作為“偏右圖”上的一點,在“偏左圖”所對應的點的坐標。“后像素”指針指向該坐標點作為“偏左圖”上的一點,在“偏右圖”所對應的點的坐標。程序中,“立體形體水平剖面的高低坐標數據”、“原始圖案素材”和輸出的“立體畫”的文件格式都是采用了Windows3.1 的Pbrush產生的BMP圖形文件格式。圖幅大小要求都是640×400,用16種顏色方式。其中,立體形體上各點的高低坐標用圖形文件中的顏色值表示,因此該圖形文件的圖形與帶顏色的等高線圖安全相同。通常情況下,在16色的BMP文件中顏色值從小到大的順序為:黑色、暗紅色、暗綠色、暗黃色、暗藍色、暗紫色、暗青色、暗灰色、灰色、明紅色、明綠色、明黃色、明藍色、明紫色、明青色、白色。本程序采用最簡單的“圖案充填”方案,即各條“鏈”上的像素點皆采用該“鏈”上的第一個像素的顏色。程序中的常數EYE-SPACE表示“偏左圖”和“偏右圖”之間的偏差,BO-DOT是表明“鏈”的首或尾的指針標志。

  該程序寄生在Windows 3.1中的Pbrush軟件上。借助于它來構筑立體形體(即立體形體水平剖面高低坐標數據文件圖8),設計原始圖案(圖9)。程序運行后,逐行輸入并處理以上兩個文件中的圖形,然后輸出立體畫結果文件(圖10)。最后,用Pbrush來觀賞立體畫result.bmp。當然,要設計出令人賞心悅目的立體畫,必須在立體形體和圖案素材的選擇和搭配上做到天衣無縫,獨具匠心。

  @@09A04007.GIF;圖8@@

  @@09A04008.GIF;圖9@@

  @@09A04009.GIF;圖10程序清單@@

  /*--from 1995.4.19--to 1995.5.18----*/include

  #define COMPRESSION 0

  #define SIZE-OF-BITMAPFILEHEADER 14

  #define SIZE-OF-BITMAPINFOHEADER 40

  #define SIZE-OF-RGBQUAD 4

  #define PIXEL-DATE-OFFSET 14+40+4*16

  /*SIZE-OF-BITMAPFILEHEADER+SIZE-OF-BITMAPINFOHEADER+BITS-PER-PIXEL

  *NUM-COLOR*/

  #define NUM-COLOR 16

  #define NUM-LINE 400

  #define WIDTH 640

  #define BITS-PER-PIXEL 4

  #define PIXEL-PER-BYTE 2 /*8/BITS-PER-PIXEL*/

亚洲女人国产香蕉久久精品| 免费国产在线视频| 99色精品| 尤物视频网站在线观看| 99色视频在线| 欧美国产日韩一区二区三区| 99热精品一区| 色综合久久天天综合绕观看| 久草免费在线观看| 欧美a级大片| 午夜久久网| 亚洲精品久久久中文字| a级毛片免费观看网站| 国产精品12| 四虎影视久久| 国产视频在线免费观看| 日本特黄特色aaa大片免费| 麻豆午夜视频| 黄视频网站在线看| 欧美激情一区二区三区在线| 亚洲天堂一区二区三区四区| 亚洲 男人 天堂| 久久久久久久久综合影视网| 欧美日本免费| 成人免费观看男女羞羞视频 | 欧美大片毛片aaa免费看| 在线观看导航| 欧美a级成人淫片免费看| 精品视频免费在线| 久久99青青久久99久久| 青青青草影院 | 午夜欧美福利| 久久精品欧美一区二区| 国产国产人免费视频成69堂| 免费一级片在线观看| 日本免费区| 久草免费在线观看| 精品国产一区二区三区久| 亚洲精品久久久中文字| 国产一区二区精品尤物| 九九干| 欧美国产日韩在线| 国产成人精品综合在线| 免费国产在线观看| 久草免费在线观看| 亚洲 男人 天堂| 欧美另类videosbestsex高清| 韩国三级香港三级日本三级| 日韩中文字幕一区| 国产网站免费视频| 韩国三级一区| 毛片电影网| 日韩欧美一及在线播放| 可以免费看污视频的网站| 日韩欧美一及在线播放| 成人高清免费| 日韩免费在线观看视频| 韩国三级香港三级日本三级la| 高清一级片| 99久久精品国产片| 精品视频一区二区三区| 国产91精品一区| 91麻豆精品国产高清在线| 日韩在线观看免费| 国产精品自拍在线| 欧美大片aaaa一级毛片| 日本在线不卡免费视频一区| 日本免费看视频| 欧美激情在线精品video| 精品在线观看国产| 久久精品免视看国产明星| 久久国产一区二区| 欧美日本韩国| 色综合久久手机在线| 午夜久久网| 欧美激情伊人| 国产一区二区精品久久91| 一级毛片视频在线观看| 精品久久久久久中文| 国产伦精品一区二区三区在线观看| 日本特黄特色aa大片免费| 日本免费乱理伦片在线观看2018| 天天色色色| 国产精品自拍亚洲| 国产伦精品一区二区三区无广告| 美女被草网站| 久久精品大片| 尤物视频网站在线观看| 91麻豆国产福利精品| 亚洲第一页乱| 国产一区二区精品在线观看| a级毛片免费观看网站| 欧美a免费| 亚洲女人国产香蕉久久精品| 久久国产精品自线拍免费| 精品视频在线看| 日韩男人天堂| 日本特黄特黄aaaaa大片| 午夜在线观看视频免费 成人| 一级女性大黄生活片免费| 99久久精品国产国产毛片| 999久久66久6只有精品| 天天色成人| 日韩中文字幕在线播放| 国产一区二区精品| 999久久66久6只有精品| 日本伦理网站| 国产一区二区精品久久91| 在线观看导航| 亚洲第一色在线| 99色精品| 国产麻豆精品| 精品久久久久久综合网| 国产极品精频在线观看| 天天做日日爱夜夜爽| 亚洲爆爽| 亚飞与亚基在线观看| 亚洲www美色| 亚洲第一页乱| 日日夜人人澡人人澡人人看免| 韩国三级视频网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 99久久网站| 欧美另类videosbestsex视频| 国产国语对白一级毛片| 国产不卡精品一区二区三区| 国产麻豆精品免费密入口| 四虎影视精品永久免费网站| 欧美日本二区| 四虎影视久久久| 欧美一级视频免费观看| 欧美电影免费看大全| 台湾毛片| 精品国产一区二区三区久| 久久国产影院| 你懂的日韩| 欧美激情一区二区三区视频| 午夜精品国产自在现线拍| 国产视频一区二区在线观看| 九九精品在线播放| 欧美a级成人淫片免费看| 国产一区二区精品久| 91麻豆爱豆果冻天美星空| 91麻豆国产福利精品| 日本免费区| 成人免费网站久久久| 国产成人精品综合在线| 色综合久久天天综合观看| 欧美a免费| 精品国产香蕉伊思人在线又爽又黄| 国产成a人片在线观看视频| 亚洲精品中文一区不卡| 精品视频一区二区三区| 国产一区国产二区国产三区| 黄色免费网站在线| 尤物视频网站在线| 九九热精品免费观看| 沈樵在线观看福利| 美女免费精品高清毛片在线视| 日韩一级精品视频在线观看| 久久国产一区二区| 日韩av片免费播放| 一级毛片视频免费| 黄色免费三级| 色综合久久久久综合体桃花网| 国产精品自拍在线| 99热精品一区| 91麻豆精品国产自产在线| 欧美激情中文字幕一区二区| 国产亚洲精品成人a在线| 韩国三级香港三级日本三级| 欧美一级视频免费观看| 亚欧乱色一区二区三区| 精品视频一区二区三区| 日本特黄一级| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日本伦理片网站| 日韩专区亚洲综合久久| 欧美1卡一卡二卡三新区| 日日夜夜婷婷| 午夜欧美成人久久久久久| 亚久久伊人精品青青草原2020| 午夜激情视频在线播放| 美女免费精品视频在线观看| 国产精品123| 亚欧乱色一区二区三区| 色综合久久天天综合观看| 精品视频一区二区三区免费| 日日夜人人澡人人澡人人看免| 亚洲 欧美 91| 国产精品123| 一级毛片视频在线观看| 九九久久99综合一区二区| 久久福利影视| 国产高清视频免费| 久久成人亚洲| 久久99欧美| 日韩欧美一及在线播放| 人人干人人草| 成人高清免费|