Формула трансформации перспективы из неизвестного значения в пикселы
Собственно, есть 3D матрица вида :
M3D = ["1", "0", "0", "0", "0", "1", "0", "0", "0", "0", "1", "-0.00166667", "0", "0", "0", "1"] в этой матрице M3D[11] === -0.00166667 представляет собой обозначение перспективы устанавливаемой в CSS: transform: perspective(600px) тоесть -0.00166667 это ни что иное как 600px. :blink: Нужно найти формулу которая конвертирует значение из матрицы в пиксели. Может быть есть математики, которые в этом шарят ибо интернеты нужных сведений не предоставляют.:-? |
Откуда разработчики браузеров тогда узнали об этих трансформациях?
Из спецификации CSS. https://www.w3.org/TR/css-transforms...al-description Там описана матрица перспестивы, можно сделать обратное преобразование function perspective(M3D) { return -1 / M3D[11]; } // пример с вашей матрицей alert(perspective([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -0.0016666667, 0, 0, 0, 1])); |
Цитата:
|
Часовой пояс GMT +3, время: 00:35. |