數(shù)和縮放基準(zhǔn)點(diǎn)。
[0117]例如,在Anroid平臺(tái)中的opengl es引擎中,若選中屏幕中的平移工具后,通過(guò)觸屏實(shí)時(shí)獲取到用戶輸入的單手指滑動(dòng)向量,預(yù)設(shè)z軸固定不動(dòng),單手指滑動(dòng)向量的X軸分量的像素?cái)?shù)量乘以單位像素長(zhǎng)度得到X軸平移距離,單手指滑動(dòng)向量的I軸分量的像素?cái)?shù)量乘以單位像素長(zhǎng)度作為y軸平移距離,將照相機(jī)的空間位置向單手滑動(dòng)向量相反方向平移,分別沿X軸平移X軸平移距離和沿I軸平移I軸平移距離,縮放基準(zhǔn)點(diǎn)由于從前在3D物體上,也分別向相反方向沿X軸平移X軸平移距離和沿y軸平移y軸平移距離,最終得到更新3D引擎的照相機(jī)的空間位置和3D數(shù)據(jù)的縮放基準(zhǔn)點(diǎn)。
[0118]若通過(guò)觸屏實(shí)時(shí)獲取到用戶輸入的縮放操作指令距離,根據(jù)預(yù)置的縮放算法對(duì)縮放操作指令距離進(jìn)行處理,更新3D引擎的縮放系數(shù)。
[0119]例如,在Anroid平臺(tái)中的opengl es引擎中,若通過(guò)觸屏實(shí)時(shí)獲取到用戶輸入的雙手指滑動(dòng)過(guò)程中的距離,3D引擎將當(dāng)前兩指的距離與上次兩指距離的比值作為縮放比例乘以上一次繪制的縮放系數(shù),更新了 3D引擎的縮放系數(shù)。
[0120]更新繪制模塊622,用于針對(duì)更新后的3D引擎的繪圖指令參數(shù)調(diào)用3D引擎的繪圖指令,繪制三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖。
[0121]具體的,針對(duì)更新后的3D引擎的繪圖指令參數(shù)中用于模擬右眼位置的3D引擎相機(jī)位置參數(shù)和用于模擬人的右眼視線方向的3D引擎相機(jī)方向參數(shù)來(lái)調(diào)用3D引擎的繪圖指令,繪制三維數(shù)據(jù)的3D右眼視圖。
[0122]針對(duì)更新后的3D引擎的繪圖指令參數(shù)中用于模擬左眼位置的3D引擎相機(jī)位置參數(shù)和用于模擬人的左眼視線方向的3D引擎相機(jī)方向參數(shù)來(lái)調(diào)用3D引擎的繪圖指令,繪制三維數(shù)據(jù)的3D左眼視圖。
[0123]優(yōu)選的,繪制三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖時(shí),包括:
[0124]判斷當(dāng)前繪制的像素是否對(duì)應(yīng)所述3D右眼視區(qū),若是,則在像素繪制3D右眼視圖,若不是則在像素繪制所述3D左眼視圖。
[0125]優(yōu)選的,調(diào)用3D引擎的繪圖指令之前,還包括步驟604:將獲取到的通過(guò)3D設(shè)計(jì)軟件導(dǎo)出的三維數(shù)據(jù)文件或3D掃描儀掃描得到的三維數(shù)據(jù)文件解析成與3D引擎匹配的格式的三維數(shù)據(jù),并傳送給所述3D引擎。
[0126]603:將3D左眼視圖、3D右眼視圖分別對(duì)應(yīng)顯示在裸眼3D顯示屏的3D左眼圖顯不區(qū)、3D右眼圖顯不區(qū)上。
[0127]綜上所述,本發(fā)明的一種三維數(shù)據(jù)的裸眼3D顯示方法及系統(tǒng),通過(guò)在智能終端利用裸眼3D技術(shù)結(jié)合3D引擎,可以得到物體逼真的的立體影像,真實(shí)地顯示三維物體,使用戶直觀的看到復(fù)雜三維物體中的細(xì)節(jié),可以在移動(dòng)終端中實(shí)現(xiàn),可交互,便于用戶手勢(shì)操作從不同角度觀察物體,實(shí)時(shí)的旋轉(zhuǎn)、平移、縮放所觀察物體。
[0128]上述實(shí)施例僅例示性說(shuō)明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識(shí)者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
【主權(quán)項(xiàng)】
1.一種三維數(shù)據(jù)的裸眼3D顯示方法,其特征在于,包括: 根據(jù)裸眼3D顯示屏上柱鏡或光柵的排列位置獲取裸眼3D顯示屏上的3D左眼圖顯示區(qū)和3D右眼圖顯不區(qū); 調(diào)用所述3D引擎的繪圖指令,繪制預(yù)先獲取的三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖; 將所述3D左眼視圖、3D右眼視圖分別對(duì)應(yīng)顯示在所述裸眼3D顯示屏的3D左眼圖顯示區(qū)、3D右眼圖顯不區(qū)上。2.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)用所述3D引擎的繪圖指令之前,還包括:將獲取到的通過(guò)3D設(shè)計(jì)軟件導(dǎo)出的三維數(shù)據(jù)文件或3D掃描儀掃描得到的三維數(shù)據(jù)文件解析成與3D引擎匹配的格式的三維數(shù)據(jù),并傳送給所述3D引擎。3.如權(quán)利要求1所述的方法,其特征在于,所述將所述3D左眼視圖、3D右眼視圖分別對(duì)應(yīng)顯示在所述裸眼3D顯示屏的3D左眼圖顯示區(qū)、3D右眼圖顯示區(qū)上,包括: 判斷所述裸眼3D顯示屏的像素區(qū)域是否對(duì)應(yīng)所述裸眼3D顯示屏的3D左眼圖顯示區(qū),若是,則在該像素區(qū)域顯示3D左眼視圖的對(duì)應(yīng)區(qū)域,若不是,則在該像素區(qū)域顯示3D右眼視圖的對(duì)應(yīng)區(qū)域。4.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖,包括: 針對(duì)預(yù)設(shè)的用于模擬右眼位置的3D引擎相機(jī)位置參數(shù)和用于模擬人的右眼視線方向的3D引擎相機(jī)方向參數(shù)來(lái)調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D右眼視圖; 針對(duì)預(yù)設(shè)的用于模擬左眼位置的3D引擎相機(jī)位置參數(shù)和用于模擬人的左眼視線方向的3D引擎相機(jī)方向參數(shù)來(lái)調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D左眼視圖。5.如權(quán)利要求4所述的方法,其特征在于,所述用于模擬人的左眼視線方向和所述用于模擬人的右眼視線方向均為從所述相機(jī)位置指向三維數(shù)據(jù)的物體預(yù)設(shè)中心的方向,且所述用于模擬人的左眼視線方向和所述用于模擬人的右眼視線方向相差2至10度。6.如權(quán)利要求1或4所述的方法,其特征在于,所述繪制所述三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖時(shí),包括: 判斷當(dāng)前繪制的像素區(qū)域是否對(duì)應(yīng)所述3D右眼視區(qū),若是,則在所述像素區(qū)域繪制所述3D右眼視圖,若不是,則在所述像素區(qū)域繪制所述3D左眼視圖。7.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖,包括: 通過(guò)觸屏獲取到用戶輸入的操作指令特征,根據(jù)預(yù)置算法對(duì)所述操作指令特征進(jìn)行處理,更新所述3D引擎的相應(yīng)繪圖指令參數(shù); 針對(duì)更新后的3D引擎的繪圖指令參數(shù)調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖。8.如權(quán)利要求7所述的方法,其特征在于,所述通過(guò)觸屏獲取到用戶輸入的操作指令特征,根據(jù)預(yù)置算法對(duì)所述操作指令特征進(jìn)行處理,更新所述3D引擎的相應(yīng)繪圖指令參數(shù),包括: 若通過(guò)觸屏實(shí)時(shí)獲取到用戶輸入的旋轉(zhuǎn)操作指令向量,則根據(jù)預(yù)置的旋轉(zhuǎn)算法對(duì)所述旋轉(zhuǎn)操作指令特征向量進(jìn)行處理,更新所述3D引擎的相機(jī)位置參數(shù)和相機(jī)視線參數(shù); 若通過(guò)觸屏實(shí)時(shí)獲取到用戶輸入的平移操作指令向量,則根據(jù)預(yù)置的平移算法對(duì)所述平移操作指令向量進(jìn)行處理,更新所述3D引擎的相機(jī)位置參數(shù)和縮放基準(zhǔn)點(diǎn); 若通過(guò)觸屏實(shí)時(shí)獲取到用戶輸入的縮放操作指令距離,則根據(jù)預(yù)置的縮放算法對(duì)所述縮放操作指令距離進(jìn)行處理,更新所述3D引擎的縮放系數(shù)。9.一種三維數(shù)據(jù)的裸眼3D顯示系統(tǒng),其特征在于,包括: 獲取顯示區(qū)單元,用于根據(jù)裸眼3D顯示屏上柱鏡或光柵的排列位置獲取裸眼3D顯示屏上的3D左眼圖顯示區(qū)和3D右眼圖顯示區(qū); 繪圖單元,用于調(diào)用所述3D引擎的繪圖指令,繪制預(yù)先獲取的三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖; 顯示單元,用于將所述3D左眼視圖、3D右眼視圖分別對(duì)應(yīng)顯示在所述裸眼3D顯示屏的3D左眼圖顯示區(qū)、3D右眼圖顯示區(qū)上。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述繪圖單元,具體用于:針對(duì)預(yù)設(shè)的用于模擬右眼位置的3D引擎相機(jī)位置參數(shù)和用于模擬人的右眼視線方向的3D引擎相機(jī)方向參數(shù)來(lái)調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D右眼視圖;針對(duì)預(yù)設(shè)的用于模擬左眼位置的3D引擎相機(jī)位置參數(shù)和用于模擬人的左眼視線方向的3D引擎相機(jī)方向參數(shù)來(lái)調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D左眼視圖。11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述繪制單元,具體用于: 判斷當(dāng)前繪制的像素區(qū)域是否對(duì)應(yīng)所述3D右眼視區(qū),若是,則在所述像素區(qū)域繪制所述3D右眼視圖,若不是,則在所述像素區(qū)域繪制所述3D左眼視圖。12.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述繪圖單元包括: 參數(shù)更新模塊,用于通過(guò)觸屏獲取到用戶輸入的操作指令特征,根據(jù)預(yù)置算法對(duì)所述操作指令特征進(jìn)行處理,更新所述3D引擎的相應(yīng)繪圖指令參數(shù); 更新繪制模塊,用于針對(duì)更新后的3D引擎的繪圖指令參數(shù)調(diào)用所述3D引擎的繪圖指令,繪制所述三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖。13.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述顯示單元,具體用于: 判斷所述裸眼3D顯示屏的像素區(qū)域是否對(duì)應(yīng)所述裸眼3D顯示屏的3D左眼圖顯示區(qū),若是,則在該像素區(qū)域顯示3D左眼視圖的對(duì)應(yīng)區(qū)域,若不是,則在該像素區(qū)域顯示3D右眼視圖的對(duì)應(yīng)區(qū)域。
【專利摘要】本發(fā)明提供了一種三維數(shù)據(jù)的裸眼3D顯示方法及系統(tǒng)。一種三維數(shù)據(jù)的裸眼3D顯示方法包括:根據(jù)裸眼3D顯示屏上柱鏡或光柵的排列位置獲取裸眼3D顯示屏上的3D左眼圖顯示區(qū)和3D右眼圖顯示區(qū);調(diào)用所述3D引擎的繪圖指令,繪制預(yù)先獲取的三維數(shù)據(jù)的3D左眼視圖和3D右眼視圖;將所述3D左眼視圖、3D右眼視圖分別對(duì)應(yīng)顯示在所述裸眼3D顯示屏的3D左眼圖顯示區(qū)、3D右眼圖顯示區(qū)上。本發(fā)明可以得到物體逼真的立體影像,真實(shí)地顯示三維物體,使用戶直觀地看到復(fù)雜三維物體中的細(xì)節(jié),可以在移動(dòng)終端中實(shí)現(xiàn),可交互操作便于用戶手勢(shì)操作從不同角度觀察物體,實(shí)時(shí)的旋轉(zhuǎn)、平移、縮放所觀察物體。
【IPC分類】G06T17/00, H04N13/04, H04N13/00
【公開(kāi)號(hào)】CN105007480
【申請(qǐng)?zhí)枴緾N201510392209
【發(fā)明人】夏正國(guó)
【申請(qǐng)人】上?,|舟微電子科技有限公司
【公開(kāi)日】2015年10月28日
【申請(qǐng)日】2015年7月6日