Nombres complexes ( c++, classe )

0/5 (6 avis)

Vue 21 303 fois - Téléchargée 2 081 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
EagleUnderscoreOne
Messages postés
30
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
24 avril 2009

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

27 sept. 2006 à 19:15
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
Fabrice971
Messages postés
4
Date d'inscription
dimanche 13 juin 2004
Statut
Membre
Dernière intervention
11 août 2004

27 juin 2004 à 01:30
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 ...
cs_tobby
Messages postés
17
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
9 mars 2010

10 mars 2003 à 12:02
Tres instructif !!

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

13 févr. 2003 à 22:44
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.