У меня есть 3D-матрица данных в Matlab, но я хочу извлечь произвольно повернутый фрагмент данных из этой матрицы и сохранить его как 2D-матрицу, к которой я могу получить доступ . Подобно тому, как функция slice () отображает данные, срезанные под любым углом, за исключением того, что я также хотел бы иметь возможность просматривать и изменять данные, как если бы они были массивом.
У меня есть координаты точки поворота плоскости, а также углы поворота (по осям x, y и z), я также вычислил уравнение плоскости в виде:
Ax + By + Cz = D
и могу извлечь 3D-матрицу, содержащую только данные, которые попадают в эту плоскость, но я не знаю, как затем преобразовать их в простой 2D-массив.
Другой способ сделать это - каким-то образом повернуть исходную матрицу в направлении, противоположном углу плоскости, чтобы выровнять плоскость данных с осью XY, и просто извлечь эту часть матрицы, но я не знаю, возможно ли такое вращение матрицы.
Надеюсь, на этот вопрос больше нигде не ответили, я весь день гуглил, но, похоже, ни одна из проблем не соответствует моей.
Спасибо