狠狠操网,91中文字幕在线观看,精品久久香蕉国产线看观看亚洲,亚洲haose在线观看

什么是虛擬現(xiàn)實(shí)技術(shù)_虛擬現(xiàn)實(shí)技術(shù)是什么意思

第1篇:什么是虛擬現(xiàn)實(shí)技術(shù)_虛擬現(xiàn)實(shí)技術(shù)是什么意思

虛擬實(shí)境,簡(jiǎn)稱vr技術(shù),也稱靈境技術(shù)或人工環(huán)境,是利用電腦模擬產(chǎn)生一個(gè)三度空間的虛擬世界,提供使用者關(guān)于視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)等感官的模擬,讓使用者如同身歷其境一般,可以及時(shí)、沒(méi)有限制地觀察三度空間內(nèi)的事物。下面是小編為大家整理的虛擬現(xiàn)實(shí)技術(shù)的相關(guān)知識(shí),歡迎閱讀!希望對(duì)大家有所幫助!

發(fā)展歷史

虛擬現(xiàn)實(shí)技術(shù)演變發(fā)展史大體上可以分為四個(gè)階段有聲形動(dòng)態(tài)的模擬是蘊(yùn)涵虛擬現(xiàn)實(shí)思想的第一階段(1963)年以前虛擬現(xiàn)實(shí)萌芽為第二階段(1963-1972)虛擬現(xiàn)實(shí)概念的產(chǎn)生和理論初步形成為第三階段(1973-*)虛擬現(xiàn)實(shí)理論進(jìn)一步的完善和應(yīng)用為第四階段(1990-2004)。

2023年2月3日,虛擬現(xiàn)實(shí)技術(shù)登陸臺(tái)北電玩展受熱捧。

技術(shù)介紹

虛擬現(xiàn)實(shí)是多種技術(shù)的綜合,包括實(shí)時(shí)三維計(jì)算機(jī)圖形技術(shù),廣角(寬視野)立體顯示技術(shù),對(duì)觀察者頭、眼和手的跟蹤技術(shù),以及觸覺(jué)/力覺(jué)反饋、立體聲、網(wǎng)絡(luò)傳輸、語(yǔ)音輸入輸出技術(shù)等。下面對(duì)這些技術(shù)分別加以說(shuō)明。

實(shí)時(shí)三維計(jì)算機(jī)圖形

相比較而言,利用計(jì)算機(jī)模型產(chǎn)生圖形圖像并不是太難的事情。如果有足夠準(zhǔn)確的模型,又有足夠的時(shí)間,我們就可以生成不同光照條件下各種物體的精確圖像,但是這里的關(guān)鍵是實(shí)時(shí)。例如在飛行模擬系統(tǒng)中,圖像的刷新相當(dāng)重要,同時(shí)對(duì)圖像質(zhì)量的要求也很高,再加上非常復(fù)雜的虛擬環(huán)境,問(wèn)題就變得相當(dāng)困難。

vr也能為我們的日常生活提供不少便利,就拿*人最看重的房子來(lái)說(shuō)吧,先是四處奔波的到處看房,按大上海的尺寸,上一家看過(guò)的房子和下一家要看的房子間的距離……買個(gè)房子除了要投入大量的時(shí)間,還需要絕好的體力。

用vr開(kāi)坦克會(huì)怎么樣?游戲機(jī)技術(shù)可有效提升戰(zhàn)斗力在這些人中,裝填手肯定是最不需要、也不能裝備vr頭盔的。對(duì)于其他人則不同,無(wú)論是*手、駕駛員、還是車長(zhǎng),vr頭盔都能帶來(lái)很大程度上的改善——尤其是駕駛員和車長(zhǎng)[5]。

顯示

人看周圍的世界時(shí),由于兩只眼睛的位置不同,得到的圖像略有不同,這些圖像在腦子里融合起來(lái),就形成了一個(gè)關(guān)于周圍世界的整體景象,這個(gè)景象中包括了距離遠(yuǎn)近的信息。當(dāng)然,距離信息也可以通過(guò)其他方法獲得,例如眼睛焦距的遠(yuǎn)近、物體大小的比較等。

在vr系統(tǒng)中,雙目立體視覺(jué)起了很大作用。用戶的兩只眼睛看到的不同圖像是分別產(chǎn)生的,顯示在不同的顯示器上。有的系統(tǒng)采用單個(gè)顯示器,但用戶帶上特殊的眼鏡后,一只眼睛只能看到奇數(shù)幀圖像,另一只眼睛只能看到偶數(shù)幀圖像,奇、偶幀之間的不同也就是視差就產(chǎn)生了立體感。

用戶(頭、眼)的跟蹤:在人造環(huán)境中,每個(gè)物體相對(duì)于系統(tǒng)的坐標(biāo)系都有一個(gè)位置與姿態(tài),而用戶也是如此。用戶看到的景象是由用戶的位置和頭(眼)的方向來(lái)確定的。

跟蹤頭部運(yùn)動(dòng)的虛擬現(xiàn)實(shí)頭套:在傳統(tǒng)的計(jì)算機(jī)圖形技術(shù)中,視場(chǎng)的改變是通過(guò)鼠標(biāo)或鍵盤(pán)來(lái)實(shí)現(xiàn)的,用戶的視覺(jué)系統(tǒng)和運(yùn)動(dòng)感知系統(tǒng)是分離的,而利用頭部跟蹤來(lái)改變圖像的視角,用戶的視覺(jué)系統(tǒng)和運(yùn)動(dòng)感知系統(tǒng)之間就可以聯(lián)系起來(lái),感覺(jué)更逼真。另一個(gè)優(yōu)點(diǎn)是,用戶不僅可以通過(guò)雙目立體視覺(jué)去認(rèn)識(shí)環(huán)境,而且可以通過(guò)頭部的運(yùn)動(dòng)去觀察環(huán)境。

在用戶與計(jì)算機(jī)的交互中,鍵盤(pán)和鼠標(biāo)是目前最常用的工具,但對(duì)于三維空間來(lái)說(shuō),它們都不太適合。在三維空間中因?yàn)橛辛鶄(gè)自由度,我們很難找出比較直觀的辦法把鼠標(biāo)的平面運(yùn)動(dòng)映*成三維空間的任意運(yùn)動(dòng),F(xiàn)在,已經(jīng)有一些設(shè)備可以提供六個(gè)自由度,如3space數(shù)字化儀和spaceball空間球等。另外一些*能比較優(yōu)異的設(shè)備是數(shù)據(jù)手套和數(shù)據(jù)衣。

聲音

人能夠很好地判定聲源的方向。在水平方向上,我們靠聲音的相位差及強(qiáng)度的差別來(lái)確定聲音的方向,因?yàn)槁曇舻竭_(dá)兩只耳朵的時(shí)間或距離有所不同。常見(jiàn)的立體聲效果就是靠左右耳聽(tīng)到在不同位置錄制的不同聲音來(lái)實(shí)現(xiàn)的,所以會(huì)有一種方向感。現(xiàn)實(shí)生活里,當(dāng)頭部轉(zhuǎn)動(dòng)時(shí),聽(tīng)到的聲音的方向就會(huì)改變。但目前在vr系統(tǒng)中,聲音的方向與用戶頭部的運(yùn)動(dòng)無(wú)關(guān)。

感覺(jué)

在一個(gè)vr系統(tǒng)中,用戶可以看到一個(gè)虛擬的杯子。你可以設(shè)法去抓住它,但是你的手沒(méi)有真正接觸杯子的感覺(jué),并有可能穿過(guò)虛擬杯子的“表面”,而這在現(xiàn)實(shí)生活中是不可能的。解決這一問(wèn)題的常用裝置是在手套內(nèi)層安裝一些可以振動(dòng)的觸點(diǎn)來(lái)模擬觸覺(jué)。

語(yǔ)音

在vr系統(tǒng)中,語(yǔ)音的輸入輸出也很重要。這就要求虛擬環(huán)境能聽(tīng)懂人的語(yǔ)言,并能與人實(shí)時(shí)交互。而讓計(jì)算機(jī)識(shí)別人的語(yǔ)音是相當(dāng)困難的,因?yàn)檎Z(yǔ)音信號(hào)和自然語(yǔ)言信號(hào)有其“多邊*”和復(fù)雜*。例如,連續(xù)語(yǔ)音中詞與詞之間沒(méi)有明顯的停頓,同一詞、同一字的發(fā)音受前后詞、字的影響,不僅不同人說(shuō)同一詞會(huì)有所不同,就是同一人發(fā)音也會(huì)受到心理、生理和環(huán)境的影響而有所不同。

使用人的自然語(yǔ)言作為計(jì)算機(jī)輸入目前有兩個(gè)問(wèn)題,首先是效率問(wèn)題,為便于計(jì)算機(jī)理解,輸入的語(yǔ)音可能會(huì)相當(dāng)羅嗦。其次是正確*問(wèn)題,計(jì)算機(jī)理解語(yǔ)音的方法是對(duì)比匹配,而沒(méi)有人的智能。

第2篇:虛擬現(xiàn)實(shí)技術(shù)概論教案

第1章虛擬現(xiàn)實(shí)技術(shù)概論

1.1虛擬現(xiàn)實(shí)技術(shù)概述

教學(xué)目標(biāo)

1.了解虛擬現(xiàn)實(shí)技術(shù)的定義。

2.了解虛擬現(xiàn)實(shí)技術(shù)的特*。

3.了解虛擬現(xiàn)實(shí)技術(shù)的分類。

學(xué)習(xí)引導(dǎo)

虛擬現(xiàn)實(shí)是一個(gè)在當(dāng)今*上備受關(guān)注的課題。如果真正實(shí)現(xiàn)了虛擬現(xiàn)實(shí),那么整個(gè)人類的生活與發(fā)展將會(huì)發(fā)生很大的變革。我們可以設(shè)想這樣一個(gè)情景:當(dāng)你戴上特制的頭盔與手套后,你就發(fā)現(xiàn)自己已置身于一家博物館中,當(dāng)你看見(jiàn)一件精美的展品時(shí),你甚至可以從上而下、由里至外仔細(xì)地觀摩……這就是虛擬現(xiàn)實(shí)技術(shù)給你帶來(lái)的一切--近乎完美的真實(shí)感覺(jué)。

長(zhǎng)期以來(lái),人們對(duì)真實(shí)地再現(xiàn)現(xiàn)實(shí)場(chǎng)景有各種想法,然而許多人對(duì)虛擬現(xiàn)實(shí)這一概念十分模糊,認(rèn)為只要能夠提供三維立體感覺(jué)的系統(tǒng)就叫做虛擬現(xiàn)實(shí)系統(tǒng)。其實(shí)這是不確切的,按照當(dāng)今*上流行的定義,一個(gè)真正實(shí)現(xiàn)虛擬現(xiàn)實(shí)的系統(tǒng)應(yīng)當(dāng)具有以下三個(gè)基本要素。

(1)能夠給用戶以三維立體的虛擬環(huán)境。

(2)應(yīng)當(dāng)給使用者第一人稱的感覺(jué),并有實(shí)時(shí)任意活動(dòng)的自由。

(3)用戶能夠通過(guò)一些控制裝置實(shí)時(shí)地*縱和改變用戶所進(jìn)入的虛擬環(huán)境。

在現(xiàn)實(shí)生活中,我們觀察到的都是有景深、有立體感的三維世界,因此要做到完全模擬現(xiàn)實(shí),僅僅靠簡(jiǎn)單的二維平面圖形是不夠的,只有用三維系統(tǒng)才能真正模擬三維世界,給用戶一種身臨其境的感覺(jué)。

在實(shí)現(xiàn)三維場(chǎng)景后,用戶在虛擬場(chǎng)景中要有第一人稱的感覺(jué),即能體會(huì)到一種與現(xiàn)實(shí)世界一樣的感覺(jué),能夠把視點(diǎn)移到所構(gòu)造成的三維場(chǎng)景中的任何一點(diǎn),就像在真實(shí)世界中可以隨意前進(jìn)、后退、轉(zhuǎn)彎、蹲下、跳起以得到不同的視角,能夠?qū)崿F(xiàn)在現(xiàn)實(shí)中做到的一切動(dòng)作,并能實(shí)時(shí)*縱虛擬場(chǎng)景的物體和改變虛擬境界。

比如,打印一封信的*作流程為:首先,打開(kāi)計(jì)算機(jī)的電源,進(jìn)入所需要的編輯環(huán)境;然后從鍵盤(pán)輸入信的內(nèi)容;最后用打印機(jī)將它打印出來(lái)。在這個(gè)過(guò)程中,我們一直在對(duì)不同物體--開(kāi)關(guān)、鍵盤(pán)、顯示器、打印機(jī)等進(jìn)行*作,并使它們不斷地改變動(dòng)作。這是我們?cè)趯?shí)際生活中的典型事例。同樣的,在一個(gè)真正的虛擬現(xiàn)實(shí)系統(tǒng)中,我們也必須具備相同的能力。

可以說(shuō),任何系統(tǒng)只要滿足以上三個(gè)要素,就可以稱其為虛擬現(xiàn)實(shí)系統(tǒng)。目前,能夠?qū)崿F(xiàn)前兩個(gè)要素的系統(tǒng)已經(jīng)為數(shù)不少,但是允許用戶直接對(duì)虛擬境界中的物體進(jìn)行*作的系統(tǒng)就不多了。

第3篇:Java虛擬機(jī)是什么

Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。那么大家知道Java虛擬機(jī)是什么呢?下面一起來(lái)看看!

什么是Java虛擬機(jī)

作為一個(gè)Java程序員,我們每天都在寫(xiě)Java代碼,我們寫(xiě)的代碼都是在一個(gè)叫做Java虛擬機(jī)的東西上執(zhí)行的。但是如果要問(wèn)什么是虛擬機(jī),恐怕很多人就會(huì)模棱兩可了。在本文中,我會(huì)寫(xiě)下我對(duì)虛擬機(jī)的理解。因?yàn)槟芰λ,可能有些地方描述的不夠欠?dāng)。如果你有不同的理解,歡迎交流。

我們都知道Java程序必須在虛擬機(jī)上運(yùn)行。那么虛擬機(jī)到底是什么呢?先看網(wǎng)上搜索到的比較靠譜的解釋:

虛擬機(jī)是一種抽象化的計(jì)算機(jī),通過(guò)在實(shí)際的計(jì)算機(jī)上*模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。Java虛擬機(jī)有自己完善的硬體架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM屏蔽了與具體*作系統(tǒng)平臺(tái)相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。

這種解釋?xiě)?yīng)該算是正確的,但是只描述了虛擬機(jī)的外部行為和功能,并沒(méi)有針對(duì)內(nèi)部原理做出說(shuō)明。一般情況下我們不需要知道虛擬機(jī)的運(yùn)行原理,只要專注寫(xiě)java代碼就可以了,這也正是虛擬機(jī)之所以存在的原因--屏蔽底層*作系統(tǒng)平臺(tái)的不同并且減少基于原生語(yǔ)言開(kāi)發(fā)的復(fù)雜*,使java這門(mén)語(yǔ)言能夠跨各種平臺(tái)(只要虛擬機(jī)廠商在特定平臺(tái)上實(shí)現(xiàn)了虛擬機(jī)),并且簡(jiǎn)單易用。這些都是虛擬機(jī)的外部特*,但是從這些信息來(lái)解釋虛擬機(jī),未免太籠統(tǒng)了,無(wú)法讓我們知道內(nèi)部原理。

從進(jìn)程的角度解釋JVM

讓我們嘗試從*作系統(tǒng)的層面來(lái)理解虛擬機(jī)。我們知道,虛擬機(jī)是運(yùn)行在*作系統(tǒng)之中的,那么什么東西才能在*作系統(tǒng)中運(yùn)行呢?當(dāng)然是進(jìn)程,因?yàn)檫M(jìn)程是*作系統(tǒng)中的執(zhí)行單位?梢赃@樣理解,當(dāng)它在運(yùn)行的時(shí)候,它就是一個(gè)*作系統(tǒng)中的進(jìn)程實(shí)例,當(dāng)它沒(méi)有在運(yùn)行時(shí)(作為可執(zhí)行文件存放于文件系統(tǒng)中),可以把它叫做程序。

對(duì)命令行比較熟悉的同學(xué),都知道其實(shí)一個(gè)命令對(duì)應(yīng)一個(gè)可執(zhí)行的二進(jìn)制文件,當(dāng)敲下這個(gè)命令并且回車后,就會(huì)創(chuàng)建一個(gè)進(jìn)程,加載對(duì)應(yīng)的可執(zhí)行文件到進(jìn)程的地址空間中,并且執(zhí)行其中的指令。下面對(duì)比C語(yǔ)言和Java語(yǔ)言的HelloWorld程序來(lái)說(shuō)明問(wèn)題。

首先編寫(xiě)C語(yǔ)言版的HelloWorld程序。

[cpp]viewplaincopy#include

#include

intmain(void){

printf("helloworld

");

return0;

}

編譯C語(yǔ)言版的HelloWorld程序:

[plain]viewplaincopygccHelloWorld.c-oHelloWorld

運(yùn)行c語(yǔ)言版的HelloWorld程序:

[plain]viewplaincopyzhangjg@linux:/deve/workspace/HelloWorld/src$./HelloWorld

helloworld

gcc編譯器編譯后的文件直接就是可*作系統(tǒng)識(shí)別的二進(jìn)制可執(zhí)行文件,當(dāng)我們?cè)诿钚兄星孟?/HelloWorld這條命令的時(shí)候,直接創(chuàng)建一個(gè)進(jìn)程,并且將可執(zhí)行文件加載到進(jìn)程的地址空間中,執(zhí)行文件中的指令。

作為對(duì)比,我們看一下Java版HelloWord程序的編譯和執(zhí)行形式。

首先編寫(xiě)源文件HelloWord.java:

[java]viewplaincopypublicclassHelloWorld{

publicstaticvoidmain(String[]args){

System.out.println("HelloWorld");

}

}

編譯Java版的HelloWorld程序:

[java]viewplaincopyzhangjg@linux:/deve/workspace/HelloJava/src$javacHelloWorld.java

zhangjg@linux:/deve/workspace/HelloJava/src$ls

HelloWorld.classHelloWorld.java

運(yùn)行Java版的HelloWorld程序:

[plain]viewplaincopyzhangjg@linux:/deve/workspace/HelloJava/src$java-classpath.HelloWorld

HelloWorld

從上面的過(guò)程可以看到,我們?cè)谶\(yùn)行Java版的HelloWorld程序的時(shí)候,敲入的命令并不是./HelloWorld.class。因?yàn)閏lass文件并不是可以直接*作系統(tǒng)識(shí)別的二進(jìn)制可執(zhí)行文件。我們敲入的是java這個(gè)命令。這個(gè)命令說(shuō)明,我們首先啟動(dòng)的是一個(gè)叫做java的程序,這個(gè)java程序在運(yùn)行起來(lái)之后就是一個(gè)JVM進(jìn)程實(shí)例。

上面的命令執(zhí)行流程是這樣的:

java命令首先啟動(dòng)虛擬機(jī)進(jìn)程,虛擬機(jī)進(jìn)程成功啟動(dòng)后,讀取參數(shù)“HelloWorld”,把他作為初始類加載到內(nèi)存,對(duì)這個(gè)類進(jìn)行初始化和動(dòng)態(tài)鏈接(關(guān)于類的初始化和動(dòng)態(tài)鏈接會(huì)在后面的博客中介紹),然后從這個(gè)類的main方法開(kāi)始執(zhí)行。也就是說(shuō)我們的.class文件不是直接被系統(tǒng)加載后直接在cpu上執(zhí)行的,而是被一個(gè)叫做虛擬機(jī)的進(jìn)程托管的。首先必須虛擬機(jī)進(jìn)程啟動(dòng)就緒,然后由虛擬機(jī)中的類加載器加載必要的class文件,包括jdk中的基礎(chǔ)類(如String和Object等),然后由虛擬機(jī)進(jìn)程解釋class字節(jié)碼指令,把這些字節(jié)碼指令翻譯成本機(jī)cpu能夠識(shí)別的指令,才能在cpu上運(yùn)行。

從這個(gè)層面上來(lái)看,在執(zhí)行一個(gè)所謂的java程序的時(shí)候,真真正正在執(zhí)行的是一個(gè)叫做Java虛擬機(jī)的進(jìn)程,而不是我們寫(xiě)的一個(gè)個(gè)的class文件。這個(gè)叫做虛擬機(jī)的進(jìn)程處理一些底層的*作,比如內(nèi)存的分配和釋放等等。我們編寫(xiě)的class文件只是虛擬機(jī)進(jìn)程執(zhí)行時(shí)需要的“原料”。這些“原料”在運(yùn)行時(shí)被加載到虛擬機(jī)中,被虛擬機(jī)解釋執(zhí)行,以控制虛擬機(jī)實(shí)現(xiàn)我們java代碼中所定義的一些相對(duì)高層的*作,比如創(chuàng)建一個(gè)文件等,可以將class文件中的信息看做對(duì)虛擬機(jī)的控制信息,也就是一種虛擬指令。

編程語(yǔ)言也有自己的原理,學(xué)習(xí)一門(mén)語(yǔ)言,主要是把它的原理搞明白?此埔粋(gè)簡(jiǎn)單的HelloWorld程序,也有很多深入的內(nèi)容值得剖析。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 yyfangchan@163.com (舉報(bào)時(shí)請(qǐng)帶上具體的網(wǎng)址) 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除