GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Erro bizarro.

3 participantes

Ir para baixo

Erro bizarro. Empty Erro bizarro.

Mensagem por isaac138 Sáb 30 Ago 2014, 16:57

Olá, estou tendo problemas ao implementar um algorítimo em c++ que calcula sin/cos pelas Séries de Taylor.

1º- Erro com o seno: Fiz uma função em um header que converte graus para radianos, mas toda vez que ponho ela na função seno tenho um erro estranho.

Exemplo:
Código:
cout << ts::seno (degtorad(30)); //Onde ts é a classe do header
Valor de retorno no console:30,5...

Quando na verdade deveria retornar 0,5...Isso acontece com qualquer número, seno que a função seno funciona perfeitamente quando não uso degtorad.


2º- Erro com cosseno: Fiz também uma função, nesse mesmo header para calcular cosseno.O problema é: enquanto seno funciona normalmente (sem degtorad), cosseno retorna um erro muito estranho...No caso do c4droid (Ide C/C++ para Android) ele retorna:
Código:
Segmentation fault
Já no Code::Blocks-win32 ele simplesmente trava.

 Pasta dos sources

Obrigado por terem dado atenção.

Carpe Diem.

isaac138
isaac138

Data de inscrição : 11/02/2012
Reputação : 1
Número de Mensagens : 39
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.infoirom.blogspot.com

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por dharrison Dom 31 Ago 2014, 10:39

Tópico Movido para a Sessão Assuntos Diversos


Cara aqui são poucos que manja de programação em outras linguagens, mas espero que encontre a ajuda que procura.
dharrison
dharrison

Games Ranking : Nota B

Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 9 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 2.0
  • C#


Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por PedroX Dom 31 Ago 2014, 11:02

Poderia postar apenas o método ts::seno() ?

O link para download não está funcionando.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por isaac138 Dom 31 Ago 2014, 11:30

PedroX, resolvi o problema do cosseno no c4droid...era porque eu não tinha definido o fatorial de 0,então ele era dividido por 0.
Mas agora tenho outro problema...

1º- Fiz uma função na classe ts para calcular tangente da seguinte forma:

Código:

//Arquivo ts.h
 //...
static double tangente (double s);

E no arquivo ts.cpp:
Código:

//...

/*ts.cpp*/
#include "ts.h"
//...
double ts::tangente (double s)
{
return (seno(s)/cosseno(s));
}
//...


Essa função não retorna os valores esperados, como por exemplo  tan(45), retorna algo próximo de 0.896...
O que há de errado?

2º-O code::blocks segue com o problema degtorad, enquanto fiz as funções seno e cosseno funcionarem normalmente no c4droid,o code::blocks continua problemático.
código da degtorad:


Código:

include "ts.h"
/*ts.cpp*/
//...
double ts::degtorad(double deg)
{
    double rad;
    rad = ((deg * PI) / 180);
    return rad;
}
//...

E no ts.h:

Código:

double ts::degtorad(double deg);



O que há de errado?

Obrigado por ter disponibilizado tempo para responder.

Obs: Postei os código para quem não conseguiu baixar (Eu consegui aqui).
Se quiser eu posto o projeto em outro servidor.
Carpe Diem
isaac138
isaac138

Data de inscrição : 11/02/2012
Reputação : 1
Número de Mensagens : 39
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.infoirom.blogspot.com

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por PedroX Dom 31 Ago 2014, 11:48

Falta um exemplo de como você chama o método. Mais uma coisa, as funções seno e cosseno pedem um valor em radianos?

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por isaac138 Dom 31 Ago 2014, 11:56

Sim,seno cosseno são baseadas nas expansões em Taylor,logo elas usam radianos.
O exemplo:
Código:

/*main.cpp*/
#include "ts.h"
using namespace std;

cout << ts::tangente (ts::degtorad(45));



O valor esperado : 1
Valor retornado 0.8676...

!?
isaac138
isaac138

Data de inscrição : 11/02/2012
Reputação : 1
Número de Mensagens : 39
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.infoirom.blogspot.com

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por PedroX Dom 31 Ago 2014, 12:02

ts::degtorad(45) retorna aproximadamente 0,785? Temos que descobrir se o erro está aí.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por isaac138 Dom 31 Ago 2014, 12:15

Sim já testei degtorad,ela retorna um valor muito mais preciso que 0,785.
Ela funciona normalmente com seno e cosseno no c4droid.
Mais uma coisa a acrescentar, quando divido seno(s)/cosseno(s) fora da classe ts funciona normalmete.
isaac138
isaac138

Data de inscrição : 11/02/2012
Reputação : 1
Número de Mensagens : 39
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.infoirom.blogspot.com

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por PedroX Dom 31 Ago 2014, 12:25

Tente fazer as funções seno e cosseno aceitarem um valor em graus e o converterem em radianos. Acho que o problema está na conversão.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por isaac138 Dom 31 Ago 2014, 12:31

Você poderia por obsequio, apontar o erro?
Obrigado por responder (Aliás você foi o único ¬¬)
isaac138
isaac138

Data de inscrição : 11/02/2012
Reputação : 1
Número de Mensagens : 39
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.infoirom.blogspot.com

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por PedroX Dom 31 Ago 2014, 12:41

Só poderei saber se é um erro mesmo quando você testar.

Poste os códigos parciais no PasteBin ou no Pastie.org, assim poderei analisar melhor.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Erro bizarro. Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Erro bizarro. Empty Re: Erro bizarro.

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos