Я создал эту страницу для лучшего понимания вопроса.Как вы можете видеть, используя CSS3, мы можем вращать элемент вокруг оси X, Y или Z, используя transform: rotate[XYZ](M deg/rad)
.
Но я ищу функцию, которая вращает элемент в любой заданной строке.Например, вращение элемента на линии x=y
.или даже более сложный y=2x+3
.
Если вы не понимаете его, пожалуйста, держите в руке бумагу и отрывайте ее от двух дальних углов (для y=x
или y=-x
).или посмотрите на эту картинку.
Я предполагаю, что это будет комбинация двух поворотов, но я не знаю, какрассчитать повороты.
Обновление:
Я не знал, что есть функция rotate3d
для CSS transform
.эта функция принимает четыре аргумента rx
, ry
, rz
и deg
.Я чувствую, что это было бы очень полезно для этой проблемы.
Другое дело, когда мы меняем translate[X,Y,Z]
, это фактически меняет источник вращения.Это означает, что если вы хотите повернуть вокруг Y=10px
, вы должны изменить translateZ
на 10px
Update2:
Моя фактическая цель - создать инструмент дляприменить свойство CSS transform с помощью графического интерфейса.как вы можете видеть в моем файле JSBIN.Я хочу расширить это на все, что вы можете сделать.Одним из них является вращение.Я уверен, что можно вращать элемент вокруг других линий, чем x=0
... но я не знаю, как я могу сделать расчет.Например, вращение на 45 градусов вокруг Y
и 45 градусов вокруг Z
такое же, как вращение на 45 градусов вокруг x=y
.Мне нужно решение для всех строк в пространстве.