• Anúncio Global
    Respostas
    Exibições
    Última mensagem

[Funções Trigonométricas] - Com plano cartesiano

[Funções Trigonométricas] - Com plano cartesiano

Mensagempor rds0708 » Qua Mar 07, 2012 00:05

Boa noite.

Tenho lido livros sobre trigonometria e tentado me lembrar de coisas que estudei a uns 5 anos atrás. Sou programador e estou desenvolvendo objetos que se movimentam pela tela do computador. Tenho duas dúvidas que não sei mais como posso fazer para tentar a resolução e gostaria muito de uma ajuda:

[Dúvida 1]: Em um trinângulo reto, tenho tentado achar um ângulo alpha (um dos outros dois ângulos) utilizando as funções trigonométricas. Pelo que eu entendi, utilizamos funções trigonométricas para várias coisas, dentre elas achar os outros dois ângulos internos do triângulo retângulo. Eu fiz o cálculo utilizando a tangente de um ângulo alpha, cateto oposto dividido pelo cateto adjacente. O resultado que tive, pelo que li, é o valor do ângulo que desejo em radianos. Quando faço a mudança de radianos para graus, tenho um resultado errado do ângulo que estou procurando. Não sei o que estou fazendo errado.

[Aplicação de dúvida 1]: Estou tentando aplicar isso numa situação onde, por exemplo, temos dois objetos num plano cartesiano. Estes objetos têm posições X e Y. Imagine um dos objetos numa coordenada (150, 120), e o outro em outra coordenada (250 , 230). Ambos objetos têm um ângulo ao qual ele estão com suas faces viradas. O que quero fazer é com que um destes objetos olhe para outro destes objetos. Daí, consegui ver que posso resolver este problema com funções trigonométricas... Mas não tenho obtido sucesso.

[Dúvida 2]: Este dúvida segue a aplicação da dúvida anterior. Eu gostaria de saber como posso resolver uma situação em que eu tenha um objeto em um plano com posições X, Y e um ângulo face, e gostaria de descobrir qual é a próxima posição X e Y (supondo que o objeto está em movimento) de acordo com seu ângulo face.

[Aplicação de dúvida 2]: Hmm... Não sei bem onde aplicar isso por enquanto, mas tudo no que pensei foi em um jogo de nave, tipo Asteroids. Você vira a nave para um local no mapa (seu ângulo face), e começa a acelerar a nava. Com tal cálculo, é possível dar a nave suas próximas posições seguintes. A aceleração não é um problema, pode-se utilizar o tempo decorrido para fazer a atualização da posição da nave.

[OBS]: Só tem um pequeno detalhe que eu tenho que notificar a quem queira me ajudar. O plano cartesiano em computadores é diferente. Onde Y é positivo para cima na matemática, na informática o Y é positivo para baixo. Além disso, o grau 0 (zero) começa do norte (de cima), e aumenta em sentido horário.

Bom, é isso. Acredito que minha dúvida possa ajudar alguns programadores que venham aqui e talvez até a alguns matemáticos, quem sabe. Espero que alguém possa me ajudar.

Até.
rds0708
Novo Usuário
Novo Usuário
 
Mensagens: 6
Registrado em: Ter Mar 06, 2012 23:34
Formação Escolar: ENSINO MÉDIO
Área/Curso: Informática
Andamento: formado

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor timoteo » Qua Mar 07, 2012 03:42

ha um equivoco. quando vc encontra a razao entre os catetos, esse valor esta associado a um numero na tabua trigonometrica e esse valor esta relacionado mais diretamente com o valor em graus.ex: 0,57 = tg 30°.

pelo que entendi vc esta usando um triangulo retangulo onde em um angulo agudo esta uma figura1 e no outro a figura2. pelo meu entendimento vc deve encontrar uma funçao para girar a sua imagem sobre seu proprio eixo e para isso vc pode parametrizar as duas funçoes utilizando o tempo com paramentro. note que seus problemas envolvem funçoes com mais de uma sentença.

entao eu acho que vc deve estudar alem de trigonometria, funçoes com mais de uma sentença, parametrizaçao e matrizes.
espero ter ajudado
timoteo
Colaborador Voluntário
Colaborador Voluntário
 
Mensagens: 117
Registrado em: Ter Fev 14, 2012 07:07
Formação Escolar: GRADUAÇÃO
Área/Curso: bacharel matemática
Andamento: cursando

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor rds0708 » Qua Mar 07, 2012 05:03

timoteo escreveu:ha um equivoco. quando vc encontra a razao entre os catetos, esse valor esta associado a um numero na tabua trigonometrica e esse valor esta relacionado mais diretamente com o valor em graus.ex: 0,57 = tg 30°.

pelo que entendi vc esta usando um triangulo retangulo onde em um angulo agudo esta uma figura1 e no outro a figura2. pelo meu entendimento vc deve encontrar uma funçao para girar a sua imagem sobre seu proprio eixo e para isso vc pode parametrizar as duas funçoes utilizando o tempo com paramentro. note que seus problemas envolvem funçoes com mais de uma sentença.

entao eu acho que vc deve estudar alem de trigonometria, funçoes com mais de uma sentença, parametrizaçao e matrizes.
espero ter ajudado


Nossa. Então quer dizer que o resultado que sai com a razão da tangente de um ângulo é equivalente a um dos campos da tabela trigonométrica? Não sabia, obrigado por me notificar. Porém existe um problema aí, não tenho como fazer com que um programa reconheça esse valor e ele vá sozinho consultar uma tabela trigonométrica. E se eu tivesse de fazer isso, teria de criar uma tabela de parâmetros utilizando um banco de dados só para que o programa tenha que procurar o valor que foi encontrado em qualquer função trigonométrica. Isso iria complicar ainda mais a minha vida. Será que não existe um outro jeito de encontrar um ângulo X em um triângulo reto onde eu só tenha as medidas dos catetos, da hipotenusa e o ângulo de 90 graus para trabalho?

Com relação a funções de tempo e etc, isso não é problema para mim. Vamos pensar uma coisa juntos, a atualização de tela (e seus componentes como, imagens, objetos e etc) acontece em ciclos. Estes ciclos se repetem no tempo e em intervalos que o programador quiser. Eu tenho como programar um objeto para que ele somente se mova a cada 10 milisegundos , por exemplo. Para isso, este mesmo objeto verifica se 10 milisegundos ou mais foram passados e é aí então que ele realiza o cálculo de movimento. O problema está justamente aí no cálculo. Eu consegui uma vez realizar este cálculo seguinto um livro de programação de interfaces gráficas, onde a fórmula para encontrar a próxima posição X e a próxima Y é algo (se não me engano) assim:

Próxima posição X = cos (a * PI / 180)
Próxima posição Y = sen (a * PI / 180)


Onde a é igual ao ângulo face do objeto (o ângulo em que o objeto está apontando a sua face).

Não sei se estas fórmulas estão corretas. Se não estiverem, por favor me falem e me indiquem um caminho. Se estas fórmulas estão realmente corretas (que segundo o livro que peguei aqui agora, ela está, mas não sei o motivo), eu gostaria que alguém me ensinasse a lógica disso aí, se não for pedir muito, é claro.

Até.
rds0708
Novo Usuário
Novo Usuário
 
Mensagens: 6
Registrado em: Ter Mar 06, 2012 23:34
Formação Escolar: ENSINO MÉDIO
Área/Curso: Informática
Andamento: formado

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor LuizAquino » Qua Mar 07, 2012 08:56

rds0708 escreveu:[Dúvida 1]: Em um trinângulo reto, tenho tentado achar um ângulo alpha (um dos outros dois ângulos) utilizando as funções trigonométricas. Pelo que eu entendi, utilizamos funções trigonométricas para várias coisas, dentre elas achar os outros dois ângulos internos do triângulo retângulo. Eu fiz o cálculo utilizando a tangente de um ângulo alpha, cateto oposto dividido pelo cateto adjacente. O resultado que tive, pelo que li, é o valor do ângulo que desejo em radianos. Quando faço a mudança de radianos para graus, tenho um resultado errado do ângulo que estou procurando. Não sei o que estou fazendo errado.


rds0708 escreveu:Será que não existe um outro jeito de encontrar um ângulo X em um triângulo reto onde eu só tenha as medidas dos catetos, da hipotenusa e o ângulo de 90 graus para trabalho?


Suponha que o triângulo retângulo tenha catetos b e c. Além disso, suponha que o cateto c seja oposto ao ângulo interno \alpha desse triângulo.

Para calcular o ângulo \alpha , basta usar a função arco-tangente (que é a função inversa da tangente). Ou seja, temos que:

\alpha = \textrm{arctg}\,\frac{c}{b}

Tipicamente, nas bibliotecas matemáticas de linguagens de programação, a função arco-tangente é dada por atan. Além disso, essa função tipicamente retorna o ângulo em radianos. Consulte o manual de referência da linguagem que você está usando.

rds0708 escreveu:[Dúvida 2]: Este dúvida segue a aplicação da dúvida anterior. Eu gostaria de saber como posso resolver uma situação em que eu tenha um objeto em um plano com posições X, Y e um ângulo face, e gostaria de descobrir qual é a próxima posição X e Y (supondo que o objeto está em movimento) de acordo com seu ângulo face.


rds0708 escreveu:Com relação a funções de tempo e etc, isso não é problema para mim. Vamos pensar uma coisa juntos, a atualização de tela (e seus componentes como, imagens, objetos e etc) acontece em ciclos. Estes ciclos se repetem no tempo e em intervalos que o programador quiser. Eu tenho como programar um objeto para que ele somente se mova a cada 10 milisegundos , por exemplo. Para isso, este mesmo objeto verifica se 10 milisegundos ou mais foram passados e é aí então que ele realiza o cálculo de movimento. O problema está justamente aí no cálculo. Eu consegui uma vez realizar este cálculo seguinto um livro de programação de interfaces gráficas, onde a fórmula para encontrar a próxima posição X e a próxima Y é algo (se não me engano) assim:

Próxima posição X = cos (a * PI / 180)
Próxima posição Y = sen (a * PI / 180)

Onde a é igual ao ângulo face do objeto (o ângulo em que o objeto está apontando a sua face).

Não sei se estas fórmulas estão corretas. Se não estiverem, por favor me falem e me indiquem um caminho. Se estas fórmulas estão realmente corretas (que segundo o livro que peguei aqui agora, ela está, mas não sei o motivo), eu gostaria que alguém me ensinasse a lógica disso aí, se não for pedir muito, é claro.


Suponha que o objeto esteja na posição (x0, y0). Além disso, seja \alpha o seu "ângulo face". Se você deseja deslocar-se seguindo a direção dada pelo "ângulo face", então as novas posições (x, y) serão dadas por:

\begin{cases}
x = x_0 + t\cos \alpha \\
x = y_0 + t\,\textrm{sen}\, \alpha
\end{cases}

O parâmetro t nas equações acima controla o tamanho do deslocamento. Por exemplo, se t = 2, então o objeto irá se deslocar 2 unidades na direção dada pelo ângulo \alpha . Lembrando que a "unidade" pode variar de acordo com o problema. Por exemplo, se 1 unidade for igual a 1 cm, então o deslocamento para t = 2 seria de 2 cm.

Para entender o motivo dessas equações, vide a figura abaixo.

figura.png
figura.png (3.48 KiB) Exibido 5511 vezes


Analisando a figura, temos que:

\begin{cases}
x = x_0 + \overline{AB} \\ \\
x = y_0 + \overline{BC} \\ \\
\cos \alpha = \dfrac{\overline{AB}}{t} \\ \\
\texrm{sen}\, \alpha = \dfrac{\overline{BC}}{t}
\end{cases}

Usando essas quatro equações, podemos montar as equações para o deslocamento dadas anteriormente.

Observação

É comum encontrar profissionais da área de Computação que "torcem o nariz" para a Matemática.

Mas veja como essa dúvida que você enviou ilustra a necessidade dos profissionais dessa área aprenderem os conteúdos de Matemática. Por exemplo, esse seu problema foi resolvido apenas aplicando conhecimentos de trigonometria.
professoraquino.com.br | youtube.com/LCMAquino | @lcmaquino

"Sem esforço, não há ganho."
Dito popular.
Avatar do usuário
LuizAquino
Colaborador Moderador - Professor
Colaborador Moderador - Professor
 
Mensagens: 2654
Registrado em: Sex Jan 21, 2011 09:11
Localização: Teófilo Otoni - MG
Formação Escolar: PÓS-GRADUAÇÃO
Área/Curso: Mestrado - Modelagem Computacional
Andamento: formado

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor rds0708 » Qua Mar 07, 2012 15:40

LuizAquino escreveu:Suponha que o triângulo retângulo tenha catetos b e c. Além disso, suponha que o cateto c seja oposto ao ângulo interno \alpha desse triângulo.

Para calcular o ângulo \alpha , basta usar a função arco-tangente (que é a função inversa da tangente). Ou seja, temos que:

\alpha = \textrm{arctg}\,\frac{c}{b}

Tipicamente, nas bibliotecas matemáticas de linguagens de programação, a função arco-tangente é dada por atan. Além disso, essa função tipicamente retorna o ângulo em radianos. Consulte o manual de referência da linguagem que você está usando.


Nossa! Não tinha a menor noção que utilizando a função inversa da tangente eu encontraria os radianos do ângulo que procuro. Obrigado pela dica!

LuizArquino escreveu:Suponha que o objeto esteja na posição (x0, y0). Além disso, seja \alpha o seu "ângulo face". Se você deseja deslocar-se seguindo a direção dada pelo "ângulo face", então as novas posições (x, y) serão dadas por:

\begin{cases} x = x_0 + t\cos \alpha \\ x = y_0 + t\,\textrm{sen}\, \alpha \end{cases}

O parâmetro t nas equações acima controla o tamanho do deslocamento. Por exemplo, se t = 2, então o objeto irá se deslocar 2 unidades na direção dada pelo ângulo \alpha . Lembrando que a "unidade" pode variar de acordo com o problema. Por exemplo, se 1 unidade for igual a 1 cm, então o deslocamento para t = 2 seria de 2 cm.


Pela figura, faz muito sentido, aliás, faz todo sentido. Me confirma uma coisa para ver se eu entendi, você disse que a próxima posição X, é igual a posição X anterior, mais a distância AB, e que a próxima posição Y, é igual a posição Y anterior, mais a distância BC, correto? Outra coisa, eu utilizando seno e cosseno de alpha, eu tenho como encontrar todas as distâncias do triângulo, não é?

A fórmula final ficou desse jeito, mas não sou matemático, devo multiplicar o tamanho do deslocamento (t) pelo seno ou cosseno de alpha?


LuizArquino escreveu:Mas veja como essa dúvida que você enviou ilustra a necessidade dos profissionais dessa área aprenderem os conteúdos de Matemática. Por exemplo, esse seu problema foi resolvido apenas aplicando conhecimentos de trigonometria.


Não foi a toa que recorri a estudar trigonometria. Fazia anos que eu não pegava em livros sobre o assunto e quando, de primeira vez, pensei em como resolveria o problema, logo desenhei e encontrei um triângulo retângulo. Atualmente faço um estudo aprofundado em interfaces gráficas e a manutenção e modelagem top-down de bancos de dados (que na minha opinião, é uma coisa linda!). Sou mais um programador (e pessoa) que quer deixar bem claro a todo mundo, matemática É essencial em qualquer situação do nosso dia-a-dia. Nós sempre estamos usando matemática, mesmo que seja de um conteúdo mais "bobo" até um mais "pesadinho". De fato, não tenho estudado matemática já faz um tempo. Nossas vidas hoje em dia estão cada vez mais corridas. Temos prazos e etc... Enfim, não quero deixar de concordar que vez ou outra a gente tem que tirar o carro da garagem e andar com ele um pouco. E devido a falta de uso, provavelmente precisaremos da ajuda de um profissional da área, e de um professor que tenha o jeito de nos ensinar. :y:

Até.
rds0708
Novo Usuário
Novo Usuário
 
Mensagens: 6
Registrado em: Ter Mar 06, 2012 23:34
Formação Escolar: ENSINO MÉDIO
Área/Curso: Informática
Andamento: formado

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor LuizAquino » Qua Mar 07, 2012 20:05

rds0708 escreveu:Me confirma uma coisa para ver se eu entendi, você disse que a próxima posição X, é igual a posição X anterior, mais a distância AB, e que a próxima posição Y, é igual a posição Y anterior, mais a distância BC, correto?


Correto.

rds0708 escreveu:Outra coisa, eu utilizando seno e cosseno de alpha, eu tenho como encontrar todas as distâncias do triângulo, não é?


Eu presumo que você queira dizer "lados do triângulo" ao invés de "distâncias do triângulo".

Se for conhecido o ângulo alfa e qualquer um dos lados do triângulo retângulo, então é possível determinar os outros dois lados.

Se for conhecido apenas os ângulos internos de um triângulo retângulo, então não é possível determinar os seus lados.

No seu caso, você conhece o ângulo e a hipotenusa (que corresponde ao tamanho do deslocamento t escolhido). Dessa forma, você pode determinar os catetos desse triângulo.

rds0708 escreveu:A fórmula final ficou desse jeito, mas não sou matemático, devo multiplicar o tamanho do deslocamento (t) pelo seno ou cosseno de alpha?


Você não deve dizer "pelo seno ou pelo cosseno". O correto seria dizer "pelo seno e pelo cosseno".

Do jeito que você escreveu, a pessoa poderia, por exemplo, multiplicar t apenas pelo seno de alfa. Mas esse não é o caso.

Você deve multiplicar o valor de t tanto pelo seno quanto pelo cosseno de alfa.
professoraquino.com.br | youtube.com/LCMAquino | @lcmaquino

"Sem esforço, não há ganho."
Dito popular.
Avatar do usuário
LuizAquino
Colaborador Moderador - Professor
Colaborador Moderador - Professor
 
Mensagens: 2654
Registrado em: Sex Jan 21, 2011 09:11
Localização: Teófilo Otoni - MG
Formação Escolar: PÓS-GRADUAÇÃO
Área/Curso: Mestrado - Modelagem Computacional
Andamento: formado

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor rds0708 » Qua Mar 07, 2012 21:54

LuizAquino escreveu:
rds0708 escreveu:Me confirma uma coisa para ver se eu entendi, você disse que a próxima posição X, é igual a posição X anterior, mais a distância AB, e que a próxima posição Y, é igual a posição Y anterior, mais a distância BC, correto?


Correto.

rds0708 escreveu:Outra coisa, eu utilizando seno e cosseno de alpha, eu tenho como encontrar todas as distâncias do triângulo, não é?


Eu presumo que você queira dizer "lados do triângulo" ao invés de "distâncias do triângulo".

Se for conhecido o ângulo alfa e qualquer um dos lados do triângulo retângulo, então é possível determinar os outros dois lados.

Se for conhecido apenas os ângulos internos de um triângulo retângulo, então não é possível determinar os seus lados.

No seu caso, você conhece o ângulo e a hipotenusa (que corresponde ao tamanho do deslocamento t escolhido). Dessa forma, você pode determinar os catetos desse triângulo.

rds0708 escreveu:A fórmula final ficou desse jeito, mas não sou matemático, devo multiplicar o tamanho do deslocamento (t) pelo seno ou cosseno de alpha?


Você não deve dizer "pelo seno ou pelo cosseno". O correto seria dizer "pelo seno e pelo cosseno".

Do jeito que você escreveu, a pessoa poderia, por exemplo, multiplicar t apenas pelo seno de alfa. Mas esse não é o caso.

Você deve multiplicar o valor de t tanto pelo seno quanto pelo cosseno de alfa.


Perfeito. Entendi tudo o que você me disse e estou totalmente grato pela sua ajuda! Você me ajudou com calma e de forma didática! Vou indicar esse fórum para meus colegas e tenho certeza de que alguns adorarão dar uma passada por aqui de vez em quando.

No momento eu estou refazendo meu framework de interfaces para começar novos testes e aplicar tudo o que você me ensinou aqui. Mal posso esperar! Assim que eu fizer os testes eu venho aqui dar um feedback para fechar o tópico com conteúdo e resolução final.

Mais uma vez, obrigado!

Até.
rds0708
Novo Usuário
Novo Usuário
 
Mensagens: 6
Registrado em: Ter Mar 06, 2012 23:34
Formação Escolar: ENSINO MÉDIO
Área/Curso: Informática
Andamento: formado

Re: [Funções Trigonométricas] - Com plano cartesiano

Mensagempor rds0708 » Seg Mar 12, 2012 16:58

Olá.


Bom pessoal, só estou passando aqui para agradecer pela ajuda e dizer que realmente foi útil e solucionou meu problema. Tenho tido problemas com meu framework de interfaces, mas não por causa da matemática e sim por causa da falta de conhecimento em certos pontos da minha área de programação (em maior foco, a minha linguagem, Java). Algumas coisas são mais complicadas do que pensei que seriam. Enfim, eu não estou aqui para falar de programação, este é um fórum de matemática. Eu fiz todos os cálculos no papel e tudo resultou em algo totalmente perfeito. O tempo de movimento de interfaces foi feito com base no ciclo da aplicação. Pude movimentar qualquer objeto em qualquer velocidade impondo regras de que tal objeto deve mover-se a cada X milisegundos. O olho humano é redondamente enganado tendo a ilusão de que o objeto está se movendo mais rápido ou mais devagar. Utilizando o cálculo trigonométrico pude mover livremente objetos de interface em um plano bidimensional.

Nada está completo ainda, mas as coisas estão funcionando aos poucos. Gostaria de poder mostrar a vocês o que estou fazendo, mas no momento ando muito ocupado e muito estressado até para fazer isso funcionar do jeito correto. Quero agradecer novamente pela ajuda: Obrigado! ;)

Até.
rds0708
Novo Usuário
Novo Usuário
 
Mensagens: 6
Registrado em: Ter Mar 06, 2012 23:34
Formação Escolar: ENSINO MÉDIO
Área/Curso: Informática
Andamento: formado


Voltar para Trigonometria

 



  • Tópicos relacionados
    Respostas
    Exibições
    Última mensagem

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes

 



Assunto: (FGV) ... função novamente rs
Autor: my2009 - Qua Dez 08, 2010 21:48

Uma função polinomial f do 1° grau é tal que f(3) = 6 e f(4) = 8.Portanto o valor de f(10) é :


Assunto: (FGV) ... função novamente rs
Autor: Anonymous - Qui Dez 09, 2010 17:25

Uma função de 1º grau é dada por y=ax+b.
Temos que para x=3, y=6 e para x=4, y=8.
\begin{cases}6=3a+b\\8=4a+b\end{cases}
Ache o valor de a e b, monte a função e substitua x por 10.


Assunto: (FGV) ... função novamente rs
Autor: Pinho - Qui Dez 16, 2010 13:57

my2009 escreveu:Uma função polinomial f do 1° grau é tal que f(3) = 6 e f(4) = 8.Portanto o valor de f(10) é :



f(x)= 2.x
f(3)=2.3=6
f(4)=2.4=8
f(10)=2.10=20


Assunto: (FGV) ... função novamente rs
Autor: dagoth - Sex Dez 17, 2010 11:55

isso ai foi uma questao da FGV?

haahua to precisando trocar de faculdade.


Assunto: (FGV) ... função novamente rs
Autor: Thiago 86 - Qua Mar 06, 2013 23:11

Saudações! :-D
ví suaquestão e tentei resolver, depois você conta-me se eu acertei.
Uma função de 1º grau é dada por y=3a+b

Resposta :
3a+b=6 x(4)
4a+b=8 x(-3)
12a+4b=24
-12a-3b=-24
b=0
substituindo b na 1°, ttenho que: 3a+b=6
3a+0=6
a=2
substituindo em: y=3a+b
y=30+0
y=30
:coffee: