Nombres complexes ( c++, classe )

Soyez le premier à donner votre avis sur cette source.

Vue 16 099 fois - Téléchargée 1 730 fois

Description

Classe Complexe, gestions des nombres complexes. Utile pour le calcul de solutions d'equations, ou en geometrie. Je l'utilise avec Opengl pour gerer des objets dans l espace 3D (voir le fichier ZIP pour l'ensemble du code, seule la declaration de la classe est affichée ci-dessous).

Merci a ThomasC pour les erreurs qui ont été corrigées.

Source / Exemple :


/*******************************************************************************************/
// Nom du fichier : Complexe.h 
// Declaration de la classe : Complexe 
// Description : Nombre complexe
// Date : 15-02-2003
// Auteur : www.nemesys.tv
/*******************************************************************************************/

#ifndef _Complexe_H_ 
#define _Complexe_H_ 

#include <cmath> // cosinus, sinus

#ifndef PI
#define PI 3.141592653
#endif

/*******************************************************************************************/
// Declaration de la classe 
/*******************************************************************************************/

class Complexe
{ 

private:

	float m_Imaginaire;
	float m_Reel;

public:

	void rotation(float angle);

	void translation(float x, float y);
	void translation(Complexe & complexe);

	Complexe &	conjugue();

	float accesAlpha();
	float accesModule();

	inline float accesReel(){return m_Reel;};
	inline float accesImaginaire(){return m_Imaginaire;};

	Complexe & operator =(const Complexe & complexe);
	Complexe & operator +(const Complexe & complexe);
	Complexe & operator -(const Complexe & complexe);
	Complexe & operator *(const Complexe & complexe);
	Complexe & operator /(const Complexe & complexe);

	bool operator ==(const Complexe & complexe);
	bool operator !=(const Complexe & complexe);

    Complexe();
	Complexe(float angle);
    Complexe(const Complexe & complexe);
	Complexe(float reel, float imaginaire);

    virtual ~Complexe();

protected:

	float Radian(float angle);
};

#endif

/*******************************************************************************************/
// Fin du fichier : Complexe.h 
/*******************************************************************************************/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
30
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
24 avril 2009

TOBBY
L'exponentielle d'un complexe, c'est: exp(partie réelle)*(cos(partie_imaginaire)+i*sin(partie_imaginaire)).
Messages postés
2
Date d'inscription
mercredi 19 juillet 2006
Statut
Membre
Dernière intervention
27 septembre 2006

si je veux envoyer le reel x+iy comment je définis le "i" complexe dans une classe C++ ou tt
simplement dans code en C??
J'aimerai bien rajouter une méthode qui renvoie ce nombre avec la partie réelle et imaginaire!!

Quelq'un aurait une idée??
Merci
Messages postés
4
Date d'inscription
dimanche 13 juin 2004
Statut
Membre
Dernière intervention
11 août 2004

Pas mal du tout , enfin un source avec constructeurs qui n'oblige pas à passer par des fonctions ! Quelqu'un aurait-il l'excellente idée de transposer ceci en C# ? (Aïe ! non ! pas la tête !) Enfin , disons surtout l'addition , ce serait le plus simple ... je suis en mesure d'écrire le reste des fonctions du moment qu'on me donne la syntaxe pour créer des opérateurs sur des classes. Le reste je l'ai , puisque j'avais créé un bon petit logiciel de fractales il y a bien dix ans en C et m'était emm...... à TOUT écrire , opération par opération ! jusqu'aux sinus et autres tagentes etc ...
Messages postés
17
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
9 mars 2010

Tres instructif !!

Quelqu'un aurait une idee pour une fonction exponentiel d'un complexe ?
Messages postés
10
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
14 septembre 2005

En reponse au message de ThomasC, les fichiers sources ont été modifiés et corrigés.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.