reverseprojection

    2熱度

    1回答

    第一次問一個關於堆棧交換的問題,希望這是正確的地方。 我似乎無法爲我的情況開發足夠接近的近似算法,因爲我不完全是3D數學方面最好的算法。 我有一個3d環境,可以訪問包括我的相機在內的任何對象的位置和旋轉,以及從任意兩點運行跡線以獲得點與碰撞點之間的距離。我也有我的相機的視野。但是,我沒有任何形式的訪問世界/視圖/投影矩陣。 我也有一個2d圖像的集合,基本上是一組來自相機的3D環境屏幕截圖,每個集合

    3熱度

    3回答

    所以,我已經成功地取得了光線的代表未投影到世界的鼠標,現在我需要檢查,如果該線可以用四物相交,這裏是我使用來獲取射線代碼: public Ray GetMouseRay() { Vector2 mousePosition = new Vector2(cursor.getX(), cursor.getY()); Vector3 nearPoint = new Ve

    3熱度

    1回答

    我使用 worldview_inverse * (projection_inverse * vector) 變換屏幕空間座標變換爲世界空間座標。 我認爲 (x,y,1,1) 將轉化爲對遠平面上的點,而 (x,y,-1,1) 轉變爲一個點近平面,和連接線,我可以查詢視圖中的所有對象相交的截頭圓錐體。 轉換後,我把它們各自的.w組件分開。 這適用於遠平面,但近平面上的點以某種方式轉變爲世界