IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

directX et fonction NORMALIZE() ?!!??


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Par défaut directX et fonction NORMALIZE() ?!!??
    Bonjour!!

    je suis entrain d'écrire un code utilisant des vertex et directx avec delphi d'après un tutoriel de génération de terrain d'après une carte d'élévation.

    Et là je tombe sur la fonction :

    Normal.Normalize();

    J'ai tout retourné, rien trouvé sur la façon d'écrire cette ligne en delphi.

    "Normal" est un vecteur 3D de type vector3 (dont j'ai refabriqué le type car il existe pas en pascal [enfin si il y en a un mais qui ne permet pas de cibler .normal ou .position]) dont on calcule la normale mais impossible
    de trouver le code équivalent?!!!
    Si quelqun peut m'aider merciiiiiii

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Par défaut
    heu bon j'ai fabriqué ce machin là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function normalize(vec : _D3DVector) : _D3DVector;
    var rc : single;
    begin
    rc:=sqrt(sqr(vec.x)+sqr(vec.y)+sqr(vec.z));
    normalize.x:=vec.x/rc;
    normalize.y:=vec.y/rc;
    normalize.z:=vec.z/rc;
    end;
    je suppose que c'est bon

    [Modération]
    Merci d'utiliser les balises code ou quote, Laurent Dardenne
    [/Modération]

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Le calcul de la norme du vector est correct.
    Ensuite elle est bien ramenée dans l'interval [0,1].
    Tout cela me semble donc bon

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Par défaut eh oui
    merci oui, j'ai même trouvé çà!!

    D3DXVec3Normalize(vn.position,Vn.position);

    et voila, c'est deja implanté dans delphi, mais le nom de la fonction est différent du C#

    pour ceux que çà interesse, j'ai inventé un type qui permet d'adresser les vecteurs de cette facon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var Vecteur1,Vecteur2 : CustomVertexEtendu
    ...
    Vecteur1.x:=1; vecteur2.Nx:=1;
    vecteur1.y:=1; vecteur2.Ny:=2;
    vecteur1.x:=2; vecteur2.Nz:=9;
    et ensuite on peut faire, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D3DXVec3Subtract(vecteur1.position,vecteur.position,vecteur2.normal);
    c'est beau hein!!

    ce que ne permet pas de faire le type packed prédéfini.

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par gilygily
    c'est beau hein!!
    avec les balises code c'est magnifique

    Merci de lire les régles du forum.
    les régles du club.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Par défaut
    ha oué, mais je savais po qu'il y avait des balises pour insérer du code, c'est vrai que çà fait magnifiquement beau

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] Allocation de memoire d'une fonction normal VS fonction static
    Par blackdevil86 dans le forum Langage
    Réponses: 1
    Dernier message: 31/01/2012, 10h41
  2. Réponses: 5
    Dernier message: 26/08/2009, 09h53
  3. Surface d'intersection de deux fonctions normales
    Par fabule dans le forum Mathématiques
    Réponses: 3
    Dernier message: 02/02/2007, 15h41
  4. Réponses: 1
    Dernier message: 04/11/2006, 20h40
  5. Liste de Fonction DirectX
    Par naejg dans le forum DirectX
    Réponses: 6
    Dernier message: 30/03/2004, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo