引 言
眾所周知, 視覺是人類感知世界的最重要的方式, 而現實生活中的所有物質形態都是以三維空間而客觀存在。三維顯示能真正地再現客觀世界的立體空間, 提供更符合人們觀察習慣的交流方式, 有助于人們在綜合運用各種深度暗示之后, 通過大腦的計算感知而獲得真實、豐富、可靠的視覺體驗, 對社會的發展以及在科技、經濟等方面的發展具有重要的作用。
目前, 三維顯示大致可以分為四類: 體視三維顯示、全息三維顯示、透視三維顯示和體三維顯示 ,其顯示的原理和特點如表1 所示。
表1 各類三維顯示原理及特點
?
本文通過旋轉24×16 二維LED 陣列實現了具有69120個體像素, 空間尺寸為Φ9414 mm ×6618mm 柱體內的三維顯示, 文中論述了系統的整體結構、顯示原理及其各組成部分的實現方法。最后并以顯示“茶壺”為例, 對此體三維顯示系統進行了分析和討論。
1 LED 體三維顯示系統設計
1.1 整體方案
由于人眼具有視覺暫留的特性, 即人類視覺對亮度改變的跟蹤會由于意識處理延遲而滯后?;诖颂匦? 利用電機驅動置于對稱轉軸兩側的發光二極管陣列, 使之高速旋轉, 周期性地掃出一個柱體空間。同時, 尋址驅動控制電路根據需要調制不同時刻LED陣列的發光狀態, 這樣通過快速顯示一幅幅二維圖像截面序列來實現三維顯示。由于人眼視覺暫留時間約為50~100ms, 當電機轉速超過10r/s時, 人便不會有閃爍的感覺, 而是看到三維的立體圖像。根據此原理可設計如圖1 所示的LED體三維顯示系統。
?
利用計算機生成三維數據再通過數據傳輸電路把數據傳輸到旋轉驅動板上面的存儲器中, 并且由角度編碼器來測試電機的旋轉角度并把信號送給FPGA , 然后由FPGA 根據采集的角度編碼器輸出信號驅動LED 屏顯示并按時刷新LED 顯示屏。同時, 整個旋轉驅動板在電機的驅動下快速的旋轉, 快速顯示一幅幅二維截面圖像來實現三維顯示。
1.2 三維數據生成
利用Matlab 軟件的強大功能, 首先可以通過im read ()、im f info ()、m eshgrid ()、m eshc () 和su rf ()等語句來實現具有灰度值的三維圖像, 假設獲得的三維圖像角坐標為P (X0, Y0, Z0)。
令LED陣列旋轉所得的圓柱空間中LED 燈的柱坐標為F ( r, H, z ) , 根據柱坐標與直角坐標的轉換關系, 求得空間LED燈的三維直角坐標E (X 1, Y 1,Z 1) 可表示如下:
?
其中r, H, z 均為整數, 且有: - 12< r≤12, 0< H≤360, 0< z ≤16。
最后, 令D(X2, Y2, Z2) = P(X0, Y0, Z0) ∩E (X1, Y1, Z1 ) 求出該顯示的L ED 燈的三維直角坐標, 以此作為三維數據的信息源。
從Matlab 610 版本開始,Mathworks 公司在軟件中增加了設備控制箱( Instrument control toolbox ) , 提供對RS2232/RS2485 通信標準的串口通信的正式支持。因此本系統使用該工具箱的serial 類及fopen、fw rite 等函數, 通過RS2232 串口并利用數據傳輸電路把獲得的三維圖像數據傳輸到LED 驅動電路板上。
評論