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 :

Placer des chaises autour d'une table


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Par défaut Placer des chaises autour d'une table
    Hello,

    J'aimerais savoir quelle serais le meilleur moyen pour placer des chaises automatiquement autour d'une table?

    comme ceci:

    http://img521.imageshack.us/my.php?i...07copiegw6.png

    Ceci d'une manière automatique (si plus de chaise, alors diminuer leurs tailles etc..)

    (l'affichage est fait avec des coordonnées)

    D'avance merci.

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Suppose d'abord que ta table est ronde et que tes chaises soient carrées de taille fixe. Le problème est aussi simple que Souviron le dit.
    Tu calcules donc les positions des centres des chaises Pn.
    Après, tu appliques globalement une affinité d'axe x'Ox et de rapport b/a où 2a est le grand axe de la table et 2b le petit axe.
    Tu appliques cette affinité à la table elle-même et aux points Pn, MAIS PAS AUX CHAISES qui seraient déformées.
    Pour amener la chaise Pi en place tu fais une rotation de la chaise P0 d'angle P0Pi suivie d'une translation de façon à avoir une isométrie donc pas de déformation.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Je suis déçu. J'attendais une formule barbare à base de fonctions elliptiques inverses, afin d'avoir l'équidistance entre les chaises.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Par défaut
    Je suis déçu. J'attendais une formule barbare à base de fonctions elliptiques inverses, afin d'avoir l'équidistance entre les chaises.
    C'était l'idée que j'avais en tête, mais rien que d'y penser j'ai commencer à stresser un peut..

    J'avais commencé à faire quelques chose de ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //les participants seront placés tout les IncrementPlace
    double incrementPlace = 360 / nbParticipants;
    double placeDegre = 0;
     
    for (int i = 1; i <= nbParticipants; i++)
    {
     messagebox("Siege" + i " place en angle" +  placeDegre );
     placeDegre += incrementPlace;
    }
    ce qui me donne le degré de rotation de chaque chaise

    après pour les placer au bon endroits.. j'avais pensé faire avec l'équation paramétrique du cercle..

    Mais je n'ai pas bien compris ton explication
    Après, tu appliques globalement une affinité d'axe x'Ox et de rapport b/a où 2a est le grand axe de la table et 2b le petit axe.
    Tu appliques cette affinité à la table elle-même et aux points Pn, MAIS PAS AUX CHAISES qui seraient déformées.
    Pour amener la chaise Pi en place tu fais une rotation de la chaise P0 d'angle P0Pi suivie d'une translation de façon à avoir une isométrie donc pas de déformation.

  5. #5
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 78
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Une affinité consiste à réduire ou augmenter seulement une coordonnée (par exemple x ou y dans le cas du plan).
    Supposons que ton grand axe soit 2a et ton petit axe 2b. Pour faire une affinité de rapport b/a à tout point M(x,y) tu associes le point M'(x, by/a).
    Ce faisant une table de rayon a se déforme en un ovale (une ellipse).
    Fais un dessin avec b=a/2 et tu vas comprendre tout de suite.
    Mais il ne faut pas le faire aux chaises (le confort pourrait s'en ressentir).
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  6. #6
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Par défaut
    Ok,ok.. !

    mais ce que j'avais en tête c'était plutôt une taille fixe pour la table
    et des chaises qui changent de tailles selon le nombre de personnes (plus y a de personnes plus les chaises deviennent petite histoire de caser tout le monde autour de la table)

Discussions similaires

  1. [VB6] mettre des guillemets autour d'une chaîne
    Par tim69000 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/05/2006, 12h10
  2. [VRML] Faire des trous ronds dans une table.
    Par yoyo910 dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 22/03/2006, 17h56
  3. test entre des lignes successives d'une table
    Par preskovik dans le forum Access
    Réponses: 4
    Dernier message: 22/03/2006, 08h45
  4. Insérer des données Excel dans une table ACCESS
    Par anikeh dans le forum Access
    Réponses: 4
    Dernier message: 21/12/2005, 22h42
  5. suppression des caratères spéciaux dans une table
    Par syl221 dans le forum Access
    Réponses: 6
    Dernier message: 31/08/2005, 09h20

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