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

Como fazer uma função com essas condições

Como fazer uma função com essas condições

Mensagempor Arthur_Bulcao » Sex Jun 29, 2012 03:42

É para programação.
Eu preciso que o ângulo da câmera mude em função da velocidade de um personagem.
As condições são as seguintes:

Quando a velocidade for menor ou igual a 150 Unidades de Velocidade, o valor do ângulo seja 342.
Quando a velocidade seja 522, o ângulo tem de ser 332.
No um intervalo entre 150 e 522, o angulo tem que corresponder a um valor da velocidade, ou seja, a troca de ângulos tem que ser 'suavemente', e não repentinamente como se trocasse o angulo somente ao chegar aos 522.

Acho que a solução seria fazer uma equação do ângulo em função da velocidade. O detalhe é que obviamente não seria algo linear. Se fosse eu saberia como criar uma equação, mas como não é, eu não sei como montá-la. Como procedo?


Muito Obrigado!



*Atualização

Acho que dá pra fazer algo linear, sim.
1)Faço uma função onde quando v\leq150 o angulo dá 342
2)Quando v for entre ]150,522] o angulo cresce em uma função linear, onde quando v é 150, o angulo é 342; quando o v é 522, o angulo é 332.

Porém, por mais que eu tenha tentado, não consegui achar uma equação que satisfaça a segunda.


Agradeço
Arthur_Bulcao
Usuário Ativo
Usuário Ativo
 
Mensagens: 14
Registrado em: Sex Mar 23, 2012 17:16
Formação Escolar: GRADUAÇÃO
Área/Curso: Graduação em Engenharia Acústica
Andamento: cursando

Re: Como fazer uma função com essas condições

Mensagempor Russman » Sex Jun 29, 2012 09:44

Faça uma função definida por partes, isto é, se comporta de formas diferentes para intervalos diferentes. No caso da suavização eu sugiro uma curva exponencial decrescente.
"Ad astra per aspera."
Russman
Colaborador Voluntário
Colaborador Voluntário
 
Mensagens: 1183
Registrado em: Sex Abr 20, 2012 22:06
Formação Escolar: PÓS-GRADUAÇÃO
Área/Curso: Física
Andamento: formado

Re: Como fazer uma função com essas condições

Mensagempor Arthur_Bulcao » Sáb Jun 30, 2012 01:08

Sim. Eu disse isso na Atualização.

Poderia fazer:


onde A=ângulo, e v= velocidade.


Eu queria saber como poderia ser ali em "(Expressão)". Como seria uma exponencial que satisfizesse , e .

Obrigado
Arthur_Bulcao
Usuário Ativo
Usuário Ativo
 
Mensagens: 14
Registrado em: Sex Mar 23, 2012 17:16
Formação Escolar: GRADUAÇÃO
Área/Curso: Graduação em Engenharia Acústica
Andamento: cursando

Re: Como fazer uma função com essas condições

Mensagempor Russman » Sáb Jun 30, 2012 01:48

Entendo.

Uma função que satisfaça a sua necessidade é qualquer f(v) que contenha em seu gráfico os pontos (v, f(v)) = (150,342) e (522,322).

Eu só não entendo por que a necessidade do processo de limite.
Editado pela última vez por Russman em Seg Jul 02, 2012 01:05, em um total de 1 vez.
"Ad astra per aspera."
Russman
Colaborador Voluntário
Colaborador Voluntário
 
Mensagens: 1183
Registrado em: Sex Abr 20, 2012 22:06
Formação Escolar: PÓS-GRADUAÇÃO
Área/Curso: Física
Andamento: formado

Re: Como fazer uma função com essas condições

Mensagempor LuizAquino » Dom Jul 01, 2012 11:57

Arthur_Bulcao escreveu:É para programação.
Eu preciso que o ângulo da câmera mude em função da velocidade de um personagem.
As condições são as seguintes:

Quando a velocidade for menor ou igual a 150 Unidades de Velocidade, o valor do ângulo seja 342.
Quando a velocidade seja 522, o ângulo tem de ser 332.
No um intervalo entre 150 e 522, o angulo tem que corresponder a um valor da velocidade, ou seja, a troca de ângulos tem que ser 'suavemente', e não repentinamente como se trocasse o angulo somente ao chegar aos 522.

Acho que a solução seria fazer uma equação do ângulo em função da velocidade. O detalhe é que obviamente não seria algo linear. Se fosse eu saberia como criar uma equação, mas como não é, eu não sei como montá-la. Como procedo?

Muito Obrigado!

*Atualização

Acho que dá pra fazer algo linear, sim.
1)Faço uma função onde quando v\leq150 o angulo dá 342
2)Quando v for entre ]150,522] o angulo cresce em uma função linear, onde quando v é 150, o angulo é 342; quando o v é 522, o angulo é 332.

Porém, por mais que eu tenha tentado, não consegui achar uma equação que satisfaça a segunda.

Agradeço


Arthur_Bulcao escreveu:Sim. Eu disse isso na Atualização.

Poderia fazer:


onde A=ângulo, e v= velocidade.

Eu queria saber como poderia ser ali em "(Expressão)". Como seria uma exponencial que satisfizesse , e .

Obrigado


Suponha que você deseja que sua "Expressão" esteja em um formato linear. Desse modo, ela deve ser algo do tipo av + b. Tudo que você precisa fazer é calcular os coeficientes a e b. Isso é muito simples. Basta lembrar que você deseja que a função passe pelos pontos (150, 342) e (522, 322). Desse modo, você pode montar um sistema de equações:

\begin{cases}
150a + b = 342 \\
522a + b = 322
\end{cases}

Resolvendo esse sistema você determinará os coeficientes a e b. Em seguida, basta montar a função desejada. A sua função ficará no formato:

A(v)=
\begin{cases}342;\textrm{ se }v \leq 150 \\
av + b;\textrm{ se } 150< v \leq 522 \end{cases}

Por outro lado, suponha que você deseja que sua "Expressão" esteja em um formato exponencial. Desse modo, ela deve ser algo como ae^{bv}. Novamente o que você precisa fazer é determinar os coeficientes a e b, lembrando que a função deve passar pelos pontos (150, 342) e (522, 322). Para isso, basta resolver o sistema:

\begin{cases}
ae^{150b} = 342 \\
ae^{522b} = 322
\end{cases}

Resolvendo esse sistema você determinará os coeficientes a e b. Em seguida, basta montar a função desejada. Nesse caso, a sua função ficaria no formato:

A(v)=
\begin{cases}342;\textrm{ se }v \leq 150 \\
ae^{bv};\textrm{ se } 150< v \leq 522 \end{cases}

Agora basta você resolver os sistemas indicados. Mãos à obra!
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


Voltar para Funções

 



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

Quem está online

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

 



Assunto: método de contagem
Autor: sinuca147 - Seg Mai 25, 2009 09:10

Veja este exercício:

Se A = {x \in Z \hspace{1mm} | \hspace{1mm} \frac{20}{x} = n, n \in N} e B = {x \in R \hspace{1mm} | \hspace{1mm} x = 5m, m \in z}, então o número de elementos A \cap B é:

Eu tentei resolver este exercício e achei a resposta "três", mas surgiram muitas dúvidas aqui durante a resolução.

Para determinar os elementos do conjunto A, eu tive de basicamente fazer um lista de vinte dividido por todos os números naturais maiores que zero e menores que vinte e um, finalmente identificando como elementos do conjunto A os números 1, 2, 4, 5, 10 e 20. Acho que procedi de maneira correta, mas fiquei pensando aqui se não existiria um método mais "sofisticado" e prático para que eu pudesse identificar ou ao menos contar o número de elementos do conjunto A, existe?

No processo de determinação dos elementos do conjunto B o que achei foi basicamente os múltiplos de cinco e seus opostos, daí me surgiram estas dúvidas:

existe oposto de zero?
existe inverso de zero?
zero é par, certo?
sendo x um número natural, -x é múltiplo de x?
sendo z um número inteiro negativo, z é múltiplo de z?
sendo z um número inteiro negativo, -z é múltiplo de z?

A resposta é 3?

Obrigado.


Assunto: método de contagem
Autor: Molina - Seg Mai 25, 2009 20:42

Boa noite, sinuca.

Se A = {x \in Z \hspace{1mm} | \hspace{1mm} \frac{20}{x} = n, n \in N} você concorda que n só pode ser de 1 a 20? Já que pertence aos naturais?
Ou seja, quais são os divisores de 20? Eles são seis: 1, 2, 4, 5, 10 e 20.
Logo, o conjunto A é A = {1, 2, 4, 5, 10, 20}

Se B = {x \in R \hspace{1mm} | \hspace{1mm} x = 5m, m \in z} você concorda que x será os múltiplos de 5 (positivos e negativos)? Já que m pertence ao conjunto Z?
Logo, o conjunto B é B = {... , -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, ...

Feito isso precisamos ver os números que está em ambos os conjuntos, que são: 5, 10 e 20 (3 valores, como você achou).

Vou responder rapidamente suas dúvidas porque meu tempo está estourando. Qualquer dúvida, coloque aqui, ok?

sinuca147 escreveu:No processo de determinação dos elementos do conjunto B o que achei foi basicamente os múltiplos de cinco e seus opostos, daí me surgiram estas dúvidas:

existe oposto de zero? sim, é o próprio zero
existe inverso de zero? não, pois não há nenhum número que multiplicado por zero resulte em 1
zero é par, certo? sim, pois pode ser escrito da forma de 2n, onde n pertence aos inteiros
sendo x um número natural, -x é múltiplo de x? Sim, pois basta pegar x e multiplicar por -1 que encontramos -x
sendo z um número inteiro negativo, z é múltiplo de z? Sim, tais perguntando se todo número é multiplo de si mesmo
sendo z um número inteiro negativo, -z é múltiplo de z? Sim, pois basta pegar -z e multiplicar por -1 que encontramos x

A resposta é 3? Sim, pelo menos foi o que vimos a cima


Bom estudo, :y:


Assunto: método de contagem
Autor: sinuca147 - Seg Mai 25, 2009 23:35

Obrigado, mas olha só este link
http://www.colegioweb.com.br/matematica ... ro-natural
neste link encontra-se a a frase:
Múltiplo de um número natural é qualquer número que possa ser obtido multiplicando o número natural por 0, 1, 2, 3, 4, 5, etc.

Para determinarmos os múltiplos de 15, por exemplo, devemos multiplicá-lo pela sucessão dos números naturais:

Ou seja, de acordo com este link -5 não poderia ser múltiplo de 5, assim como 5 não poderia ser múltiplo de -5, eu sempre achei que não interessava o sinal na questão dos múltiplos, assim como você me confirmou, mas e essa informação contrária deste site, tem alguma credibilidade?

Há e claro, a coisa mais bacana você esqueceu, quero saber se existe algum método de contagem diferente do manual neste caso:
Para determinar os elementos do conjunto A, eu tive de basicamente fazer um lista de vinte dividido por todos os números naturais maiores que zero e menores que vinte e um, finalmente identificando como elementos do conjunto A os números 1, 2, 4, 5, 10 e 20. Acho que procedi de maneira correta, mas fiquei pensando aqui se não existiria um método mais "sofisticado" e prático para que eu pudesse identificar ou ao menos contar o número de elementos do conjunto A, existe?