Построение модели наклона лабиринта - расчет высоты поверхности наклонного стола
Я строю игру / симулятор наклона лабиринта. Наклонный лабиринт - это лабиринт, где пользователь может наклонить поверхность стола, чтобы переместить шарик или шариковый подшипник вокруг лабиринта.
Я делаю это в моногаме, и это правосторонняя система координат, где Y - направление вверх. Я вычисляю X и Z с помощью ньютоновской физики, но у меня проблемы с позиционированием высоты сферы, чтобы она не всплывала и не заходила в стол.
Поверхность лабиринта ограничена наклоном в 10 градусов как по оси X, так и по оси Z. Это довольно легко сделать в 2D, так как это просто грех (вращение ангардинцев) * vectorLength. Я перепробовал несколько подходов к 3D и быстро ни к чему не привел.
У меня есть оба угла X и Z для стола и положение мяча как вектор. Я знаю, что Y=1 находится в верхней части таблицы, когда оба угла X и Z равны 0. Если угол поворота Z равен 10 градусам (представьте, что играющая карта уровня наклонена вниз вправо.), Тогда Y должен быть больше чем 1, если X отрицательно, и менее 1, если X положительно.
Вот пара jpgs наклона лабиринта и сферы. https://www.dropbox.com/s/wwmfnottzmgynjc/tiltGame1.jpg https://www.dropbox.com/s/6k4unt6hukumyos/tiltGame2.jpg
Я попытался создать отдельные матрицы вращения для X и Z, а затем умножить сферу и т. Д., Но это не работает правильно.
У кого-нибудь есть указания на то, что я должен прочитать или посмотреть?
Спасибо,
Erik