Встречается на собеседованиях • сегодня

Как выполнить поворот 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. Для нескольких точек используйте матричное умножение
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы