【webGL入門2】點線面的繪制

用js繪制webGL的點:

THREE.Vector3 = function ( x, y, z ) {    //用THREE聲明的變量都是全局變量。

this.x = x || 0;
this.y = y || 0;
this.z = z || 0;

};

注意:“||”(或)運算符,就是當x=null或者undefine時,this.x的值應該取0。

定義個一點,通常使用:

var point1 = new THREE.Vector3();

point1.set(4,8,9); //每個點都是在三維空間里的一個坐標,我們可以看作一個從原點引出的向量vector。

需要強調的是,three.js用的是右手坐標系。所以運行一下2-1的例程就能發現我們的屏幕其實顯示的是xz平面,縱向為z,上方為正,橫向為x,左邊為正。所以將右手逆時針旋轉即可模擬。

我們可以從代碼中:

    ?initThree();
??????????????? initCamera();
??????????????? initScene();
??????????????? initLight();
??????????????? initObject();
??????????????? renderer.clear();
??????????????? renderer.render(scene, camera);

再次復習,WebGl的重要組成部分。

?

轉載于:https://www.cnblogs.com/yanky/p/8797694.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250547.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250547.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250547.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker --- mysql的部署

MySQL部署 [1]查詢本地鏡像中是否含有 centos/mysql-57-centos7(我們用到的鏡像) docker images[2] 拉取鏡像 docker pull centos/mysql-57-centos7注: centos/mysql-57-centos7 是我們用到的鏡像 [3] 創建容器 docker run -id --nametensquare_mysql -p 33306:3306 -e M…

Java中的排序

Java中的排序 排序方法的選擇 1.若n較小(如n≤50),可采用直接插入或直接選擇排序。當記錄規模較小時,直接插入排序較好;否則因為直接選擇移動的記錄數少于直接插入,應選直接選擇排序為宜。 2.若文件初始狀態基本有序(指正序)&a…

Codeforces Round #493 (Div. 2) C. Convert to Ones 亂搞_構造_好題

題意: 給你一個長度為 nnn 的 010101串 ,你有兩種操作: 1.將一個子串翻轉,花費 XXX 2.將一個子串中的0變成1,1變成0,花費 YYY 求你將這個01串變成全是1的串的最少花費。 首先,我們可以將串按照0…

[T-ARA][??? ??][看著那個女人的話]

歌詞來源:http://music.163.com/#/song?id29343995 作曲 : ?? [作曲 : Ko-nan] 作詞 : ??/?? [作詞 : Ko-nan-/lo-Ko] baby i hate you [baby i hate you] but i love you [but i love you] cant live without you [cant live without you] baby i hate you …

node --- 連接mysql(docker環境) Sequelize庫

mysql 數據庫 [1] 首先配置 docker 環境 采用 docker-compose 方法 源碼: /test-mysql/docker-compose.yml version: 3.1 services:mysql:image: mysqlcommand: --default-authentication-pluginmysql_native_passwordrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: examp…

Java-接口練習

Java-接口練習 編寫2個接口:InterfaceA和InterfaceB;在接口InterfaceA中有個方法voidprintCapitalLetter();在接口InterfaceB中有個方法void printLowercaseLetter();然 后寫一個類Print實現接口InterfaceA和InterfaceB&#xff0…

類模板與運算符重載(一個簡單的例子)

類模板與運算符重載(一個簡單的例子) 標簽(空格分隔): C 算法競賽 下面是一段簡單的代碼,表示我們建立了一個類模板Vector,可以看做是對STL中vector的簡單實現。 為了讓這個Vector支持通過下標…

Java 試題一

Java 試題一 1、GC是什么? 為什么要有GC 答:GC是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方, 忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動 …

操作系統 --- [筆記]功能、組成

操作系統的作用 管理計算機硬件充當計算機用戶和計算機硬件的中介(操作系統控制硬件,協調各個用戶應用程序的硬件) 計算機系統的資源 CPU時間、內存空間、文件存儲空間、I/O設備等 操作系統的定義 如何定義一個操作系統: 計算機系統的根本目的是,執行用戶程序并且更容易解…

Java 試題二

Java 試題二 1、哪個選項和show函數重載 class Demo{ void show(int a,int b,float c){} } A.void show(int a,float c,int b){}//yes B,void show(int a,int b,float c){}//一模一樣。不可以出現在同一個類中。 C.int show(int a,float c,int b){return a;}//yes。 D.in…

Python之簡單驗證碼實現

def v_code(): ret for i in range(5): num random.randint(0,9) alf chr(random.randint(65,122)) s str(random.choice([num,alf])) ret s return retprint(v_code())轉載于:https://www.cnblogs.com/geeker-xjl/p/8809915.html

測繪軟件使用體會

進入石家莊鐵道大學已經兩年了,學習測繪工程專業也已經兩年了,大一的時候大多是對測繪不了解,到了大二的時候上半學期我就開始了解和使用一些測繪專業相關的軟件,在大二下半學期實習的時候更是深入的學習和使用測繪軟件&#xff0…

javascript --- event loop

栗子1 求下面函數的輸出 console.log(script start);setTimeout(() > {console.log(setTimeoout); }, 0);Promise.resolve().then(function(){console.log(promise1); }).then(function(){console.log(promise2); }) console.log(script end);說明: 在"promise2"…

sublime 設置自動換行

1.打開sublime,點擊preferences -> settings 2.將word_wrap的值由auto修改為true(若沒有word_wrap,手動添加) 轉載于:https://www.cnblogs.com/hitwgs/p/8821316.html

Java 試題三

Java 試題三 1、java類是否可以多繼承,怎么實現多繼承? 答:java沒有多繼承,但可以通過接口的形式來達到多繼承的目地。 2、我比較兩個String總是false,但是它們明明都是”abc” ! 答:比較Str…

Cent os常見操作命令

1.查看防火墻狀態:firewall-cmd –-state 2.關閉防火墻:systemctl stop firewalld.service 3.禁止防火墻開機啟動:systemctl disable firewalld.service 4.關閉selinux:vi /etc/selinux/config,然SELINUXdisabled 5.查…

koa --- 使用中間件多層級拋出錯誤

說明 能夠熟練的掌握錯誤的拋出,可以在一定程度上提高代碼的開發效率和可讀性 構造錯誤 本栗采用調用一個不存在的函數來拋出錯誤 const Koa require(koa); const app new Koa();// 響應時間輸出中間件 app.use(async (ctx, next) > {await next();// 獲取響應頭,印證…

電腦的真正價值

1.不是應用程序,而是開發程序 2.高級語言就像是人類的語言,低級語言就像是一個全心全意幫我的社交專家,他幫我說服電腦實現我的指令 3.高級語言就是字節碼,低級語言幫我轉換成機器碼 4.有時候,高級語言的一個眼神&…

Java 試題四

Java 試題四 1、abstract class 和interface 有什么區別? 【基礎】 答:聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用于要創建一個體現某些基本行為的類, 并為該類聲明方法,但不能…

PyInstaller用法

pyinstaller定義:PyInstaller是一個壓縮python文件成為可執行程序的一個軟件。 pyinstaller工作原理:① 它會掃描你所有的Python文檔,并分析所有代碼從而找出所有你的代碼運行所需的模塊。② PyInstaller會將所有這些模塊和你的code放在一個文…