#swift #matrix #arkit #projection #projection-matrix
#swift #матрица #arkit #проекция #проекция-матрица
Вопрос:
Я хочу спроецировать точку CGPoint 2D экрана (x, y) в 3D точку (x, y, z), где z не является фиксированным. Я учусь на этом веб-сайте http://webglfactory.blogspot.com/2011/05/how-to-convert-world-to-screen.html, но матрица проекции вида равна 3 * 4. В arkit матрица проекции вида равна 4 * 4. Итак, когда обратная матрица ViewProjection умножает точку (x, y), как расширить точку (x, y) до вектора 1 * 4? Большое спасибо!!
Ответ №1:
SCNView.unprojectPoint([x, y, depthInFrustum]) выполняет то, что вы хотите. Есть много примеров со всей математикой для OpenGL, если вы посмотрите на это название метода.