begin process at 2012 05 28 20:05:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

definition plan dans l'espace


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

definition plan dans l'espace

lundi 20 avril 2009 à 15:34:47 | definition plan dans l'espace

bumbob

Bonjour,

je débute en programmation c++. Je cherche à définir un plan, sans le tracer, dans l'espace. Il doit être défini de manière continue. Pour cela, je dispose des coordonnées du vecteur normal a ce plan et d'un point du plan. Mathématique le plan est defini par une equation de la forme ax+by+cz+d=0 avec [a,b,c] un vecteur normal au plan.
Comment puis ecrire cela en code c++ ?

Merci d'avance.
lundi 20 avril 2009 à 18:47:41 | Re : definition plan dans l'espace

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Bin une classe "Plan" ou ce que tu veux avec des champs a, b et c et d.
Ou une classe "Plan" contenant une instance de classe "Vecteur" et une instance de classe "Point"...

Tout dépend de ce que tu veux faire par la suite...
lundi 20 avril 2009 à 18:53:46 | Re : definition plan dans l'espace

bumbob

Merci pour votre réponse,

mon souci est dans l'ecriture meme de cette classe. Je ne sais comment la construire. Par la suite, je souhaite utiliser des fonctions de la bibliotheque sisl pour determiner les intersections de ce plan avec des courbes. Des fonctions permettant de faire cel sont deja definies dans la bibliotheque.
Je voudrais donc simplement savoir comment je peux faire pour, partant du vecteur orthogonal et du point, obtenir un plan.

Merci encore.
lundi 20 avril 2009 à 19:08:14 | Re : definition plan dans l'espace

rt15

Membre Club Administrateur CodeS-SourceS
Je ne sais comment la construire.

Tu as des bases en C++ ? Un tuto sur les classes.

Je voudrais donc simplement savoir comment je peux faire pour, partant du vecteur orthogonal et du point, obtenir un plan

Ca, c'est des maths, pas de la prog. Même wikipedia a la solution ici.
mardi 21 avril 2009 à 12:26:46 | Re : definition plan dans l'espace

bumbob

Bonjour,

mon niveau en c++ est très faible. Cependant, ce n'est pas la partie mathématique du probleme qui me fera défaut.
Je comprend, avec le tuto sur les classes comment définir un vecteur, avec sorties des coordonnées. Mais je ne vois pas comment on peut étendre cela a une définition de plan. Mathématiquement, je sais comment définir le plan avec les coordonnées d'un vecteur normal et un point. Mais comment générer ce plan en langage c++ afin de l'utiliser ensuite en tant que surface.
Je suppose qu'il va falloir du void car rien en sortie, mais ensuite...

Ou alors, pouvez vous m'orienter vers un site d'aide en c++ specifique aux applications en geometrie.

Merci.

 
mardi 21 avril 2009 à 14:46:41 | Re : definition plan dans l'espace

rt15

Membre Club Administrateur CodeS-SourceS
Comment dire...

On est pas dans matrix !

Avoir une classe plan, c'est avoir une classe qui contient des information sur ce plan et des méthodes pour manipuler ces informations. C'est pas un objet dans un univers 3D infini où je ne sais quoi d'autre. Un processeur de PC ça sait déplacer de la mémoire et faire plus, moins, multiplier et c'est tout. Et encore, il peut se tromper dans les résultats. Pour afficher des trucs à l'écran, il écrit des données précises à des emplacement précis de la mémoire qui correspondent à des bus. Pour faire ça dans du code, il faut utiliser une librairie quelconque de graphisme.

Si tu regardes la doc de SISL, les fonctions traitant des plans prennent en paramètre des points et des normales pour la définition de plan. Il suffit donc que ta classe contienne ces informations.

Un bête truc dans ce genre :

#include <iostream>

using namespace std;

class Point
{
  private:
    double _x;
    double _y;
    double _z;
  public:
    Point(double x, double y, double z):
      _x(x), _y(y), _z(z) {}
    void setX(double x) { _x = x; }
    void setY(double y) { _y = y; }
    void setZ(double z) { _z = z; }
    double getX() { return _x; }
    double getY() { return _y; }
    double getZ() { return _z; }
};


class Vector: public Point
{
  public:
    Vector(double x, double y, double z):
      Point(x, y, z) {}
};


class Plan
{
  private:
    Vector _normale;
    Point _point;
  public:
      Plan(Vector normale, Point point):
        _normale(normale), _point(point) {}
};


int main()
{
  Vector normale(12, 12, 12);
  Point point(11, 11, 13);
  Plan plan(normale, point);
  return 0;
}

Faut pas non plus chercher à faire une classe plan qui permet de faire tout un tas de truc que l'on utilisera jamais. Faut faire ce dont on a besoin.

La doc de SISL contient un exemple de programme et la doc de toutes les fonctions.
Un cours sur le C++ en français.

PS : SISL propose des fonctions C. Tu peux faire du C donc. Plus simple que le C++.
mardi 21 avril 2009 à 15:18:32 | Re : definition plan dans l'espace

bumbob

Je devrais m'en sortir avec cela.

Un grand merci pour cette aide détaillée.

Bon apres midi.


Cette discussion est classée dans : plan, espace, normal, vecteur, definition


Répondre à ce message

Sujets en rapport avec ce message

Créer un vecteur normal [ par voodoo1 ] Bonjour, j'aimerais savoir comment je peux faire pour crééer un vecteur normal à partir d'un fichier obj qui ne contient pas de vecteur normal.J'ai cr vector [ par borgeomi ] borgeomibonjouuuuuuur !!!!!j'ai crée un vectorstruct enregistrement {string zone_date;string zone_montant;string zone_nom;};typedef vector Vecteu Definition de fonction pendant l'execution [ par progueur ] Bonsoir,Je suis en train de faire un programme de calcul sur des fonctions mathematiques.Et j'aimerais que l'utilisateur puisse entrer sa fonction de Non Prise en charge des espace dans ma char[20] [ par ranouf ] je suis en vc++, g un petit probleme, quand je saisis ma chaine de caractere, les epaces ne sont pas pris en compte et quand j'en fais ya tout qui foi vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable vecteur avec int et char [ par Tyroflan ] int **boursemain(){...cin >> nombre;for (unsigned int i=0;i bourse[i] = new int [5];donc je crée autant de vecteurs bourse que l'indique la variable fenêtre arrière plan [ par wanny ] Bonjour.DAns une appli, j'ai une ou plusieurs fenêtre(s) graphique (classe fille de CView).Je clique sur un menu de la mainframe pour changer des para application en arriere plan [ par flatmax ] salutje viens de faire une application (dos) et j'aimerais que cette appli tourne en arriere-plan, sans avoir besoin d'etre active.je m'explique, j'ai exécuter une fonction en arrière plan [ par sena ] Bonjour,kelk'un aurait - il un exemple simple d'exécution d'une fonction en arrière plan !Car la solution 1 ne fonctionne évidemment pas, car la fonct rotation 3d [ par Berdo ] Bonjour, je voudrais savoir comment effectuer une rotation du point de vue dans l'espace, c'est à dire:Quelque soit l'axe selon lequel le point de vue


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales