Bonjours à tous,
J'essaie de tracer la fonction sin(x) mais à l'aide des séries entières. Mais je ne sais pas pourquoi je n'arrive pas à afficher les valeurs correctes
J'aimerais donc si c'est pas trop demandé avoir un peu d'aide pour débloquer la situation
Je voudrais juste une aide pour la série entière usuelle le reste je peux me débrouiller tout seul je pense
Voici mon code :
//Le main
#include <iostream>
#include <SFML/Graphics.hpp>
#include "Trace.hpp"
#include "Repere.hpp"
#include "constante.hpp"
using namespace sf;
using namespace std;
int main()
{
RenderWindow window(VideoMode(1200,800), "play", Style::None);
window.setFramerateLimit(60);
bool unique(true);
Trace trace(2);
Repere repere("ressources/repere.png");
int i(0);
while(window.isOpen())
{
Event event;
while(window.pollEvent(event))
{
if((event.type == Event::KeyReleased) && (event.key.code == sf::Keyboard::Escape))
{
window.close();
}
if(unique)
{
for(i = 0; i< 5 ; ++i)
{
window.draw(trace.Place(i));
}
unique = false;
}
}
window.display();
}
return EXIT_SUCCESS;
}
//Class Trace
#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <vector>
#include <cmath>
#include "Trace.hpp"
#include "constante.hpp"
using namespace sf;
using namespace std;
Trace::Trace(int n): m_n(n)
{
}
RectangleShape Trace::Place(int positionX) //ICI le beug
{
m_points = 0;
for(int i(0); i < m_n ; ++i)
{
m_local = 2*i+1;
m_variable = pow(-1,i)*pow(positionX,m_local);
m_valeurs = Factoriel(m_local);
m_points = m_variable/m_valeurs + m_points;
cout << m_variable << endl << m_valeurs << endl << m_points << endl;
cout << "--------------" << positionX << endl;
}
m_ordonnee.setSize(sf::Vector2f(10, 10));
m_ordonnee.setOutlineColor(sf::Color::White);
m_ordonnee.setPosition(positionX+100,800-m_points);
return m_ordonnee;
}
int Trace::Factoriel(int n)
{
int m(1);
for(int i(1); i <= n; ++i)
{
m = m*i ;
}
return m;
}
#ifndef TRACE_HPP_INCLUDED
#define TRACE_HPP_INCLUDED
#include <iostream>
#include <SFML/Graphics.hpp>
#include "constante.hpp"
class Trace
{
public:
Trace(int n);
sf::RectangleShape Place(int positionX);
int Factoriel(int n);
int valeur();
private:
unsigned int m_local;
long long m_points;
long long m_valeurs;
long long m_variable;
sf::RectangleShape m_ordonnee;
int m_n;
};
#endif // TRACE_HPP_INCLUDED
Merci d'avance