Deixe-me tentar fornecer algo em algum lugar entre a resposta do The Light Spark e a resposta de Elliot, porque pelo que li, você está realmente procurando um algoritmo a seguir e não apenas a matemática lançada para você.
Declaração do problema: Como você possui um local A (50, 50)e um cabeçalho (como você não forneceu um, eu o afirmo como y = 2 * x + 25), descubra onde B (80, 90)é relativo aA e o cabeçalho.
O que você quer fazer é realmente bastante direto. 1) Realoque Apara a origem do seu sistema. Isso significa simplesmente que os Avalores locais para valores serão os valores da posição global menos os valores da posição global A. Atorna (0, 0)- Bse e torna - se(30, 40) .
1.1) O cabeçalho também precisa ser movido. Isso é realmente muito fácil de fazer, porque a interceptação em y em Atermos locais é sempre 0 e a inclinação não muda, então temosy = 2 * x como título.
2) Agora precisamos alinhar o cabeçalho anterior ao eixo X. Então, como fazemos isso? Conceitualmente, a maneira mais fácil de fazer isso é converter de coordenadas x, y em um sistema de coordenadas polares. O sistema de coordenadas polares envolve Ra distância de um local e phium ângulo de rotação do eixo x. Ré definido como sqrt(x^2 + y^2)e phié definido como atan(y / x). Atualmente, a maioria das linguagens de computador vai em frente e define uma atan2(y, x)função que faz exatamente a mesma coisa, atan(y/x)mas de tal maneira que a saída tende a ser de -180 graus a 180 graus, em vez de 0 a 360 graus, mas ambas funcionam.
Bassim se torna R = sqrt(30^2 + 40^2) = sqrt(2500) = 50, ephi = atan2(40, 30) = 53.13 em graus.
Da mesma forma, o título agora muda. Isso é um pouco complicado de explicar, mas como o título, por definição, sempre passa por nossa origem A, não precisamos nos preocupar com o Rcomponente. Os títulos sempre estarão na forma de phi = Conde Cé uma constante. Nesse caso, phi = atan(2 * x / x) = atan(2) = 63.435graus.
Agora, podemos girar o sistema para mover o cabeçalho para o eixo X do local para o Asistema. Assim como quando mudamos Apara a origem do sistema, tudo o que precisamos fazer é subtrair phio cabeçalho de todos os phivalores no sistema. Então o phide Bse torna 53.13 - 63.435 = -10.305graus.
Finalmente, temos que converter de volta as coordenadas polares em coordenadas x, y. A fórmula para fazer essa transformação é X = R * cos(phi)e Y = R * sin(phi). Pois B, portanto, temos X = 50 * cos(-10.305) = 49.2e Y = 50 * sin(-10.305) = 8.9, portanto, Bnas Acoordenadas locais está próximo (49,9).
Espero que isso ajude e seja leve o suficiente na matemática para você seguir.