2017-03-03 98 views
0

如何將canvas的三個.js(0,0,0)中心的默認繪製位置移動到實際的canvas開始位置?[幫助]:Three.js座標翻譯

舉例來說,在這裏:https://jsfiddle.net/data_x/mwprgnra/8/

我想移動的線條開始虛線帆布箱。 (從三維座標轉換到二維座標位置)。我需要這個,因爲我想覆蓋在webgl畫布上的svg畫布。爲此,我需要他們都遵循相同的座標位置。

一些代碼部分:

camera = new THREE.OrthographicCamera(w/- 2, w/2, h/2, h/- 2, 1, 10000); 
    camera.position.set(0, 0, 100); 

任何提示/幫助,我們非常感激,

謝謝

+0

您需要將數據從min,max實際縮放到min,max顯示 – gaitat

+0

我試着用(canvas.height/2 - 60)乘以上面的cod中註釋掉的setrange函數的返回值e但沒有任何東西與軸分開,並且軸的尺寸奇怪地減小了。這是因爲我使用透視相機進行2D繪圖嗎? – user1

+0

如果使用正交相機(即線性代數),則比例計算更容易。 – gaitat

回答

0

我打了一下週圍改變:

OrthographicCamera(左, right,top,bottom,near,far)

left - Camera f rustum離開飛機。 - 設爲0

right - 相機平截頭體右飛機。 - 設置爲畫布寬度

頂部 - 相機平頭頂部平面。 - 設置爲畫布高度

底部 - 相機平截頭體底部平面。 - 設置爲-400(你需要這個accirding改變你的畫布寬度,高度

近 - 相機視錐近平面 - 設置爲50

遠 - 相機視錐遠平面 - 設置爲100

由於left設置爲0,它將被渲染在畫布的最左邊部分,相應地調整底部會將對象移動到canvas的頂部