получить базовую точку по матрице преобразований
Добрый день.
Ковыряю 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, время: 15:10. |