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

OpenGL Discussion :

Extruder une surface


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Extruder une surface
    Bonjour,
    Pour des raisons d'optimisation, je veux opter à la création des cubes en utilisant le principe d'extrusion. Pour ce faire, il suffit d'extruder un quad en connaissant l'épaisseur du cube. Mais, il faut un vecteur pour multiplier les coordonnées des sommets de la surface à extruder pour avoir la bonne orientation du cube.
    Ma qestion: comment calculer ce vecteur? Ou est ce qu'il y a une autre méthode à suivre?
    Merci

  2. #2
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Salut,

    pour obtenir un cube à partir d'un Quad, il faut extruder selon la normale du quad.

    Pour obtenir la normale, un petit produit vectoriel entre deux vecteur de ton quad suffit.

  3. #3
    Membre émérite
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Par défaut
    Citation Envoyé par ShevchenKik Voir le message
    Pour obtenir la normale, un petit produit vectoriel entre deux vecteur de ton quad suffit.
    Attention, d'une part si tu as un quad alors il a une normale déjà... donc tu peux peut etre la récuperer... d'autre part le produit vectoriel à un sens... comme les points de ton quad sont triés aussi (sens de rotation à respecter pour justement mettre la normale du bon coté) alors il faut juste trouver les 2 bons vecteurs..

    Sur les points ABCD, tu peux essayer AB^AD ou AB^AC (pareil...)

    Enfin voilà je tenais jsute à signaler que le produit vectoriel sert à calculer la normale, mais il doit etre bien calculé si tu veux la bonne normale ^^

  4. #4
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Oui tout à fait d'accord, je ne voulais juste pas me lancer dans un cours de maths, surtout que produit vectoriel, scalaire et compagnie c'est un peu essentiel en 3D....

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Ce que j'ai compris alors:
    1) Prendre 3 points d'extrimité ordonnées P1, P2 et P3 ayant les coordonnées P1(x1,y1,Z1), P2(x2,y2,Z2), P1(x3,y3,Z3),
    2) Calculer deux vecteurs V1 et V2 entre chaque deux points, soient
    V1(x1-x2, y1-y2, z1-z2) et V2(x2-x3, y2-y3, z2-z3)
    3) Calculer le produit vectoriel V3=V1.V2
    soit V3(xv, yv, zv)
    4) Calculer la normale unitaire de V3
    5) Multiplier V3 par l'épaisseur du cube

    Est ce que c'est correct? ou je suis entrain de dire n'importe quoi?

  6. #6
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Oui c'est ca, sauf que V3 "est" ta normale, donc tu ne vas pas "calculer la normale unitaire" de V3 mais juste "normaliser le vecteur". c'est sûrement ce que tu voulais dire en fait, mais bon mieux vaut être précis

    et pour 5), c'est plutôt:

    5) pour chaque sommet du quad (disons S), calculer S' = S + V3 * Epaisseur

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/05/2004, 19h02
  2. [VMR9][D3D9]ecrire un texte sur une surface
    Par drizztfr dans le forum DirectX
    Réponses: 2
    Dernier message: 13/11/2003, 15h06
  3. Effet Fade In / Fade Out sur une surface DirectDraw
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 08/09/2002, 17h37
  4. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 15h23
  5. Redimensionnement d'une surface
    Par Freakazoid dans le forum DirectX
    Réponses: 4
    Dernier message: 01/07/2002, 22h01

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