Встречается на собеседованиях • сегодня
Как выполнить поворот 3D-точек на 30 градусов вокруг одной из осей координат
Для поворота 3D-точек используйте матрицы поворота. Для поворота на угол θ (в радианах) вокруг оси X, Y или Z:
python
import numpy as np
def rotate_x(points, angle_degrees):
theta = np.radians(angle_degrees)
c, s = np.cos(theta), np.sin(theta)
matrix = np.array([
[1, 0, 0],
[0, c, -s],
[0, s, c]
])
return np.dot(points, matrix.T)
Пример для поворота вокруг X на 30°
points = np.array([[1, 0, 0], [0, 1, 0]])
rotated = rotate_x(points, 30)
text
Аналогично для осей Y и Z (меняется матрица):
- Y: [[c, 0, s], [0, 1, 0], [-s, 0, c]]
- Z: [[c, -s, 0], [s, c, 0], [0, 0, 1]]
Важно:
1. Угол переводится в радианы
2. Точки должны быть в виде массива N×3
3. Для нескольких точек используйте матричное умножение
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы