получить базовую точку по матрице преобразований
Добрый день.
Ковыряю CSS Transform Matrix и все более менее понятно, но встал чисто академический вопрос: Матрица задает новые точки по формулам: _ _ x' = a*x+c*y+tx |a , b , 0| y' = b*x+d*y+ty |c , d , 0| |tx, ty, 1| |_ _| Но мне стало интересно как имея координату x',y' и матрицу по которой эти координаты были построены, найти базовый x и y (те которые подставлялись в формулу)? |
goodle22,
а что за матрица преобразования? это когда пытаешься преобразовать условно див с четырьмя углами а, б, в, г? и изначально известны координаты х, у каждого угла? а как можно преобразовать что то если изначально не известны координаты? и может вопрос твой больше подходит к разделу (x)HTML/CSS а не общие вопросы JS? |
<html style="font: 200% serif"><script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=default"> </script>Так вам надо решить эту систему уравнении... Если новая точка (x₁, y₁) задаётся при помощи $$ \begin{cases} x_1=ax + cy + t_x \\ y_1=bx + dy + t_y \end{cases}, $$ то первоначальная точка (x, y) вычисляется так: $$ \begin{cases} x={c(y_1-t_y)-d(x_1-t_x) \over bc-ad} \\ y={-a(y_1-t_y)+b(x_1-t_x) \over bc-ad} \end{cases}. $$ |
Спасибо, большое! То что нужно! Думал что все просто, но никак не мог догнать.
|
Часовой пояс GMT +3, время: 17:32. |