Ir ao conteúdo

Posts recomendados

Postado

Boa tarde!

Recebi esse algoritmo para fazer e entendi parte da lógica dele:

post-760809-0-78866700-1427657495_thumb.

 

Eu não compreendi como vou relacionar a força com as medidas dadas. Como vou saber através da força se vai bater no canto da mesa ou não?

 

Obrigado :D

Postado

O enunciado não especifica que se deseja calcular todas as batidas da bola nas paredes... Então vamos assumir que deseja-se apenas a primeira batida, o que simplifica bastante o problema. E a bola sempre começa no centro da mesa, o que também facilita bastante o problema.
 
Primeiro é necessário decompor a força nas direções vertical e horizontal multiplicando-a por seno e cosseno de θ, respectivamente.
 

Fv = -F * sen(θ)   (o sinal negativo se deve ao fato do eixo Y crescer na direção de cima para baixo)Fh = F * cos(θ)

 
Como a bola sempre começa no centro, a distância entre a bola e os lados superior e inferior é de 200 unidades, e de 100 unidades até os lados direito e esquerdo.
 
Então, existe uma relação de 2 para 1 entre as distâncias aos lados. Logo, se a força na vertical for menor que o dobro da força horizontal a bola está indo em direção a um dos lados direito ou esquerdo, caso contrário está indo na direção de um dos lados superior ou inferior.
 

|Fv| < |2 * Fh|  -> Esquerda ou Direita|Fv| = |2 * Fh|  -> Vértice|Fv| > |2 * Fh|  -> Superior ou InferiorOnde | | indica valor absoluto ou módulo.

 
Usando esta informação e o sinal positivo ou negativo de Fv ou Fh podemos distinguir para qual parede a bola está indo:
 

|Fv| < |2 * Fh| :Fh < 0  -> EsquerdaFh > 0  -> Direita|Fv| > |2 * Fh| :Fv < 0  -> SuperiorFv > 0  -> Inferior|Fv| = |2 * Fh| :Fh < 0 e Fv < 0  -> Vértice Superior EsquerdoFh > 0 e Fv < 0  -> Vértice Superior DireitoFh < 0 e Fv > 0  -> Vértice Inferior EsquerdoFh > 0 e Fv > 0  -> Vértice Inferior Direito

 
Resta saber se a bola vai chegar até a respectiva parede: Como cada unidade de força move a bola uma unidade de distância na vertical ou na horizontal, então basta saber se |Fv| é maior ou igual a 200 caso esteja indo para a parede superior ou inferior, para ter força suficiente para alcançar a parede. E se |Fh| é maior ou igual a 100 no caso das paredes esquerda e direita.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!