Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   получить базовую точку по матрице преобразований (https://javascript.ru/forum/misc/77032-poluchit-bazovuyu-tochku-po-matrice-preobrazovanijj.html)

goodle22 15.03.2019 18:13

получить базовую точку по матрице преобразований
 
Добрый день.
Ковыряю 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 (те которые подставлялись в формулу)?

Блондинка 15.03.2019 23:44

goodle22,
а что за матрица преобразования? это когда пытаешься преобразовать условно див с четырьмя углами а, б, в, г? и изначально известны координаты х, у каждого угла?

а как можно преобразовать что то если изначально не известны координаты?

и может вопрос твой больше подходит к разделу (x)HTML/CSS а не общие вопросы JS?

Malleys 16.03.2019 01:46

<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}. $$

goodle22 16.03.2019 04:17

Спасибо, большое! То что нужно! Думал что все просто, но никак не мог догнать.


Часовой пояс GMT +3, время: 12:07.