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

Algorithmes et structures de données Discussion :

Union de 2 volumes


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Union de 2 volumes
    Bonjour à tous,
    Je suis à la recherche d'un algorithme pour fusionner 2 volumes 3D. Dans le cadre de l'application, on peut supposer qu'il y a un contact face-face entre les 2 volumes et que la face qui fait le contact est toujours totalement sur l'autre volume (il ne peut pas y avoir un cube à moitié superposer sur un autre et l'autre moitié dans le vide). En entrée, on aurait 2 ensembles de polygones 3D décrivant les faces de chaque volume, et en sortie on aurait une liste de polygone décrivant le volume "unifié".

    Le cas typique d'utilisation est des cubes que l'on superpose pour définir des formes très simplifiées de bâtiment.
    Mes recherches n'ont malheureusement pas abouti sur grand chose, je ne sais pas si il y a un terme particulier pour ce type d'algorithme.

    D'avance merci pour votre aide!

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    bonjour,

    Citation Envoyé par Shandril Voir le message
    Mes recherches n'ont malheureusement pas abouti sur grand chose, je ne sais pas si il y a un terme particulier pour ce type d'algorithme.
    Ce type d'opération fait partie du domaine de la "Constructive Solid Geometry" (CSG).

    Par exemple, la technique des "marching-cube" peut te permettre de construire la surface qui fait la frontière entre l'intérieur et l'exterieur de ton union.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci de l'info (un poil en retard).
    J'ai pu trouver des libs qui font ça, malheureusement souvent très lourdes à manipuler.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 579
    Points : 1 539
    Points
    1 539
    Par défaut
    Si tu veux, il existe cette lib:
    http://createuniverses.blogspot.com/...-geometry.html

    Enfin, ce n'est pas vraiment une lib, plutôt un code source inspiré de unbboolean (lib open source java je crois) mais il est très compréhensible et est assez simple à utiliser. Elle a quelques problèmes de stabilité mais suffisant pour faire du dev perso/prototypage rapide. Par contre, si tu doit faire du dev professionnel avec, elle risque d'être un peu juste.

    Sinon, il existe la GNU Triangle Surface library http://gts.sourceforge.net/, ou alors la SMLib (payante) http://www.smlib.com/. Mais elles sont beaucoup plus complexes à prendre en main.

    Pour finir, y'a bien CARVE http://carve-csg.com/, qui est la lib utilisé par Blender il me semble, mais à part la page d'accueil, le site semble vide...

    En espérant que ça puisse t'aider toi ou d'autres personnes qui ont galéré comme moi pour trouver une lib CSG à peu près correct .

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Bonjour,
    Malheureusement non c'est dans le cadre R&D actuellement mais destiné à l'industrie à terme donc il faut à la fois quelque chose de robuste et qui colle avec les contraintes de licences donc pas simple à trouver

    Pour carve, j'avais vu le projet sous google code mais j'ai pas vu de lien depuis leur site c'est assez bizarre.

    Au finale, ce problème a été pour le moment contourné, faute de temps. En plus de l'union des volumes, il aurait encore fallu les recaler pour qu'il y ait effectivement contact entre 2 bâtiments.

    Merci en tout cas pour les liens, je vais voir si je peux pas déjà me faire un idée des résultats qu'on peut obtenir avec la première librairie.

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

Discussions similaires

  1. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06
  2. UNION et COUNT(*)
    Par Goldust dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/08/2003, 09h30
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. volume de windows
    Par RCA dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 20/03/2003, 17h20
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

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