我想模擬二維空間的深度,如果我有一個點P1我想我需要將給定點P1投影到一個平面x軸順時針旋轉「theta」rads,以獲得P1'點投影到yx旋轉的平面
似乎P1'.x coord必須與P1.x相同,而P1'.y必須短於P1.y.在3D世界中:
cosa = cos(theta)
sina = sin(theta)
P1'.x = P1.x
P1'.y = P1.y * cosa - P1.z * sina
P1'.z = P1.y * sina + P1.z * cosa
是我的P1.z = 0嗎?我試過了,P1'.y = P1.y * cosa沒有按預期的結果
任何反應,將不勝感激,謝謝!
編輯:我想要什麼,我現在旋轉攝像頭和轉換矩陣
編輯2:用啓動1點和END1點(這是一個水平線上的單行的例子,結果預計是下降線「地面」只要傾斜角度的增加)
我認爲這是一個標誌錯誤或偏差需要(JAVA的畫布繪製(0,0)是在左上角),因爲我的傾斜度爲0的新行是所有行的下一行,其值爲90º e新行和原始匹配
你能具體談談它是什麼,你想幹什麼?你有什麼想要改變的點P1?你想旋轉圍繞哪個軸theta?如果你有一個點在x,y,z(讓我們稱之爲p1(x,y,z)),並且你圍繞x軸旋轉θ,新的座標是p1'(x,y * cos )+ z * sin(theta),y * sin(theta)+ z * cos(theta))就是你想要做的嗎? –
謝謝邁克,我的情況是一個真正的街道背景圖像,我畫了一個2D畫布(x,y)覆蓋線,我的目的是與傾斜角度(我認爲是斧軸旋轉)在我的那條線新的「xy傾斜平面」,也許我需要在一個3D空間中投影,就像我們用一個初始p1(x,y,0)所說的那樣,然後將p1'(x,y,z)投影到我的屏幕2D空間中。 – lluisruscalleda
好的,你所描述的方程是圍繞x軸旋轉theta的正確方程。如果你不明白,有幾件事你需要檢查。我可以問你正在使用什麼語言?要檢查的是你的cos和sin函數是弧度的(你可以檢查sin(pi)是否爲0)?其次,你可以給出一個例子打印所有的點(顯示所有的輸入點和輸出點以及theta和中間點)你是正確的P1。z應該是0並且p1'.y應該是= p1.y * cosa –