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
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


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


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