Как повернуть элемент вокруг линии, отличной от X = 0, Y = 0 и Z = 0 с помощью CSS3?

Я создал эту страницу для лучшего понимания вопроса. Как вы видите с помощью CSS3 мы можем повернуть элемент вокруг оси X, Y или Z с помощью преобразования: повернуть [XYZ] (M град/рад) .

Но я ищу функцию для поворота элемента на любой данной линии. Например, поворот элемента на линии x = y . или даже более сложный y = 2x + 3 .

Если вы не понимаете, пожалуйста, держите бумагу в руках и переверните ее из двух дальних углов (для y = x или y = -x ). или посмотрите на эту фотографию.

enter image description here

enter image description here

Я предполагаю, что это будет сочетание двух вращений, но я не знаю, как вычислить вращения.

Обновление:

Я не знал, что существует функция rotate3d для преобразования CSS . эта функция принимает четыре аргумента rx , ry , rz и deg . Я считаю, что это было бы очень полезно для этой проблемы.

Другое дело, когда мы меняем перевести [X, Y, Z] на самом деле изменить начало вращения. Это означает, что если вы хотите повернуть вокруг Y = 10px , вы должны изменить translateZ на 10px

Update2:

Моя фактическая цель - создать инструмент для применения свойства преобразования CSS с помощью графического интерфейса пользователя. как вы можете видеть в моем файле jsbin. Я хочу распространить его на все преобразования , которые вы можете сделать. Одна из них - ротация. Я уверен, что можно повернуть элемент вокруг других линий, кроме x = 0 ... Но я не знаю, как я могу сделать расчет. Например, вращение 45 ° вокруг Y и 45 ° вокруг Z аналогично вращению 45 ° вокруг x = y . Мне нужно решение для всех линий в пространстве.

-121--1094028-

Как правильно использовать KVO для NSManagedObject? Здесь Perfect KVO состоит из двух частей: правильно добавить наблюдателя и правильно удалить наблюдателя. История: Я использую одну UITableViewCell (ячейку) для отображения одного NSManagedObject (объекта). У каждого объекта есть...

Perfect KVO включает в себя две части: правильно добавить наблюдателя и правильно удалить наблюдателя.

История:

  1. Я использую одну UITableViewCell (ячейку) для отображения одного NSManagedObject (объекта).
  2. Каждый объект имеет некоторые динамические свойства, которые должны наблюдаться его ячейкой.
  3. Не все объекты имеют одинаковый набор наблюдаемых свойств. Я добавляю ключевых наблюдателей пути избирательно так:

    если (object.thumbnail_pic_url) [object addObserver: cell forKeyPath: @ «thumbnail _ картина» параметры: 0 контекст: NULL];

  4. Объект может быть удален. При удалении объекта необходимо удалить наблюдателей.База данных очень большая и сложная, поэтому я определенно не хочу регистрировать все ячейки для получения moc-уведомлений, таких как NSManagedObjectContextObjectsDidChireNotification. Но я могу принять, чтобы добавить ячейку ivar в объект, если я должен, даже если это идет снова хороший образец проектировать Modle-View-Controller.

Проблема: Как правильно удалить наблюдатель (ячейку) для всех зарегистрированных ключевых путей из объекта при удалении?

На самом деле, это большая проблема, которая может быть разделена на две небольшие проблемы:

  1. Где лучше всего поместить код удаления наблюдателя?
  2. Как определить, какие ключевые пути отменить регистрацию? Я не могу запросить его свойства после удаления объекта - это приведет к невыполняемым сбоям, поэтому я не могу написать код так:

    , если (object.thumbnail_pic_url) [object remeyObserver: cell forKeyPath: @ «thumbnail _ картина»];

и я не могу либо слепо удалить наблюдателя для незарегистрированного пути ключа - исключения (невозможно удалить наблюдателя для пути ключа «thumbnail_picture» из, так как он не зарегистрирован как наблюдатель.) будут выброшены.

7
задан an0 29 September 2011 в 22:50
поделиться