Drag objet par objet

135678

Réponses

  • CeetixCeetix Membre
    04:49 modifié #62
    lol merci schlum .... :D
    Mais justement comment tu relies ?
    Les points au pif ca c'est juste du random sur x et y que je mets en paramettre de ma fonction "initRectangle" mais apres pour les relier ...
    Dans ma méthode initRectangle je voulais mettre mon info de Noeud déjà  ...
  • schlumschlum Membre
    04:49 modifié #63
    Pour relier un point A(x,y) à  un point B(x',y'), il suffit généralement de dessiner le segment qui va de (x,y) à  (x',y')  :P
  • CeetixCeetix Membre
    04:49 modifié #64
    Oui ça aussi je sais ^^.
    bon bon je vais réessayer ;)
  • schlumschlum Membre
    04:49 modifié #65
    Alors j'ai dû mal comprendre la question...
    - Tu as une liste de points, une liste des liaisons
    - Tu peux choisir un emplacement pour chaque point
    - Tu sais comment relier les emplacements entre eux
    Donc je ne vois pas ce qu'il reste  :P
  • CeetixCeetix Membre
    04:49 modifié #66
    C'est un peu plus complexe dans le code c'est pour ça.  :'(
  • CeetixCeetix Membre
    04:49 modifié #67
    Par exemple si j'ai plusieurs tracé qui partent du même point ... car dans mon initRectangle je n'ai qu'un seul tracé par rectangle
  • schlumschlum Membre
    04:49 modifié #68
    Mais qu'est-ce que les tracés fichent dans les init ??  ???
    Il y a bien un "drawRect" de la vue principale quelque part, qui peut dessiner les points et les liaisons non ?

    Ton code m'a l'air d'être un sacré foutoir.
  • CeetixCeetix Membre
    04:49 modifié #69
    bah non. Au départ je voulais que chaque rectangle ai un point d'encrage avec un tracé. donc c'était logique de mettre ca dans mon init. Là  j'ai donc viré mes tracés et je les fais en parcourant mon graphes. Des qu'il rencontre un noeud à  relier il prend mon objet1 et mon objet2 et trace une ligne entre les deux etc ... Enfin pour le moment il y a comme un petit bug. Je vais essayer de regler ca.
  • AliGatorAliGator Membre, Modérateur
    04:49 modifié #70
    Regarde du côté de GraphViz, qui est un outil permettant de générer des images de graphes à  partir d'une représentation textuelle de ces derniers (un fichier décrivant les noeuds, les arcs, leurs valeurs s'ils en ont, leur sens s'ils en ont, ...).

    Je l'avais utilisé une fois pour une utilisation perso, et ça t'évite de t'arracher les cheveux pour savoir où et comment placer au mieux tes noeuds sur ton image... Après tu peux encapsuler l'outil dans une classe à  toi qui va créer le fichier de description de ton graphe, lancer l'outil, et récupérer l'image résultante.
  • CeetixCeetix Membre
    04:49 modifié #71
    Bha le truc c'est que j'aimerai bien le faire moi même ^^.
    J'ai déjà  reussi à  faire ca.

    Image%201.jpg 

    Apres ca bug, jai un probleme d'indice de tableau.
  • schlumschlum Membre
    04:49 modifié #72
    dans 1238080397:
    Je l'avais utilisé une fois pour une utilisation perso, et ça t'évite de t'arracher les cheveux pour savoir où et comment placer au mieux tes noeuds sur ton image... Après tu peux encapsuler l'outil dans une classe à  toi qui va créer le fichier de description de ton graphe, lancer l'outil, et récupérer l'image résultante.


    Le meilleur placement (nombre minimal d'intersections) est un problème mathématique ouvert il me semble :P
    Après, on doit pouvoir arriver à  des placements pas mauvais via des algorithmes génétiques ou de logique floue je pense.
  • CeetixCeetix Membre
    04:49 modifié #73
    Oulalala lol, je suis pas une bête en maths ^^. Au départ je ferai du drag pour replacer mes noeud. si déjà  j'arrive a affiche mon graphe correctement je serai content :)
  • schlumschlum Membre
    04:49 modifié #74
    C'est dommage parce que les maths sont à  la base de l'algorithmie...
    Bon programmeur et mauvais matheux ça sonne mal  B)
  • CeetixCeetix Membre
    04:49 modifié #75
    Oui enfin j'ai juste dis que j'etais pas aussi bon que toi. "algo génétique et logique floue" ca me parle pas trop. Sinon des maths j'en bouffe (9 à  12h par semaine ^^)
  • NoNo Membre
    04:49 modifié #76
    dans 1238082061:

    C'est dommage parce que les maths sont à  la base de l'algorithmie...
    Bon programmeur et mauvais matheux ça sonne mal  B)


    Heureusement que non, car sinon je serais très mal au boulot...
    Algorythmie rime avec esprit logique : les maths n'ont que peu d'influence.
  • schlumschlum Membre
    04:49 modifié #77
    La logique c'est des maths  ;)
  • CéroceCéroce Membre, Modérateur
    04:49 modifié #78
    dans 1238082061:

    Bon programmeur et mauvais matheux ça sonne mal  B)


    Pourtant, c'est rare de dépasser le programme de seconde. Déjà  rare de dépasser celui de 4ème. Je suis comme No (pas très bon en maths), mais l'avantage de la programmation, et de l'ingénierie en général, c'est que ce sont des mathématiques appliquées, souvent des problèmes de géométrie qui se règlent avec un crobard.
  • NoNo Membre
    04:49 modifié #79
    dans 1238089714:

    La logique c'est des maths  ;)


    Je dirai plutôt : les maths c'est de la logique.

    Je suis une brelle en math (enfin j'arrive à  caculer 2+2 quand même), mais je suis bon développeur (et surtout analyste).
  • CeetixCeetix Membre
    04:49 modifié #80
    Ouf alors parce que je me voyais mal calculer la convergence normale d'une série de fonction pour mes futurs problème de programmation ^^
  • schlumschlum Membre
    04:49 modifié #81
    dans 1238090095:

    dans 1238089714:

    La logique c'est des maths  ;)


    Je dirai plutôt : les maths c'est de la logique.

    Je suis une brelle en math (enfin j'arrive à  caculer 2+2 quand même), mais je suis bon développeur (et surtout analyste).


    Non non, la logique c'est un pan des Mathématiques  :P
    Quand je disais " mauvais matheux ", c'est sûr, ça sert à  rien de savoir diagonaliser une matrice par blocs ou calculer les zéros de la fonction zeta hein  :) (sauf pour certains algos sans doute).
    Par contre, bien maà®triser la logique, l'arithmétique (modulaire %) etc. oui.
  • schlumschlum Membre
    04:49 modifié #82
    Et j'oubliais, l'algèbre de Boole bien sûr  :) (qui fait partie de la logique cela dit)
  • CeetixCeetix Membre
    04:49 modifié #83
    Moi j'aime bien diagonaliser ^^
    Sinon vous auriez un post cléf ou une piste pour juste afficher du texte dans chaque carré (NSRect) ?
  • Philippe49Philippe49 Membre
    mars 2009 modifié #84
    Les maths, c'est l'art d'inventer des objets et étudier comment ils fonctionnent.
    Confondre les maths et le calcul, c'est confondre l'orthographe et la littérature. On fait des maths quand on cherche à  remplacer les calculs par le raisonnement, tant que c'est possible.

    Tous les objets comme les arbres, les entiers, les tableaux, les graphes, la manipulation logique de chaà®ne de caractères, les structures, les fonctions, les fonctionnelles (fonctions admettant comme paramètre des fonctions), codages bijectifs (image, son, compression, ...), l'arithmétique pour le cryptage, sont des concepts qui ont été manipulés il y a 200 ou 300 ans par des gens intelligents, physiciens, philosophes, mathématiciens ou autres, qui disaient à  l'époque qu'ils faisaient avec cela des mathématiques.
    Pourquoi des informaticiens intelligents de notre époque ne diraient-ils pas que réfléchir à  une structure ou l'inventer, élaborer et améliorer ses principes de fonctionnement, pourquoi ne diraient-ils pas que cette phase de l'activité humaine, cela s'appelle faire des mathématiques ?
    C'est de l'activité mathématique.


    Le drame actuel, c'est que les mathématiques sont dans l'imagerie populaire uniquement cantonnées soit à  des calculs niveau collège-lycée, soit à  ce qu'on apprend par coe“ur pour passer un examen, et comme dit Ceetix la convergence uniforme ... .
    Non, les mathématiques c'est Yves Meyer qui dans les années 80 découvrent la théorie des ondelettes pour répondre à  une demande d'algorithme du FBI, c'est Shannon qui dans les années 50 va rechercher un vieux truc qu'on appelle la Transformée de Fourier (Etude du son par Lagrange en 1780, suivi par Fourier et les autres), c'est toute la recherche actuelle sur les courbes elliptiques pour chercher à  casser le RSA, c'est tous les algorithmes de Kent sur la théorie des nombres, sur la représentation des graphes (domaine encore très ouvert, Ceetix: cela devrait t'intéresser), c'est l'invention des distributions pour généraliser le concept de fonctions , c'est toute la géométrie algorithmique, la géométrie projective (base de OpenGL), et à  côté de ces math applicables, il y a en plus la recherche fondamentale dont les applications se verront peut-être dans 50 ans, ou dans 10 ans, ou dans 150 ans  ...
  • CeetixCeetix Membre
    04:49 modifié #85
    Je suis d'accord avec toi Philippe mais le problème ne vient pas des élèves mais des profs qui se cantonne justement qu'aux calculs en face de leurs élèves. C'est bien dommage car quand on arrive dans le supérieurs ce n'est plus le résultat qui compte mais toute la démarche logique pour y arriver.

    En info on fait de l'algo avec par exemple l'algo de Dijkstra. C'est interessant et moins rébarbatif .
  • CeetixCeetix Membre
    04:49 modifié #86
    J'ai reussi ^^
    Par contre j'aimerai bien ecrire l'info en texte dans mon rectangle... Vous pouvez me donner une petite piste?
    Image%204.jpg
  • Philippe49Philippe49 Membre
    mars 2009 modifié #87
    Entièrement d'accord avec toi. Dijkstra c'est des maths sur les ensembles, et l'énoncé c'est vraiment des maths (source Wikipedia ci-dessous). Faire comprendre ce que cela signifie c'est avoir une activité mathématique. C'est un des mini-projets Math-Infos (Math pour réflexion, formulation : - Infos réalisation pratique) que je propose à  mes étudiants en fin de Spé.



    Le poids du chemin entre deux sommets est la somme des poids des arêtes qui le composent. Pour une paire donnée de sommets sdeb (le sommet du départ) sfin (sommet d'arrivée) appartenant à  S, l'algorithme trouve le chemin depuis sdeb vers sfin de moindre poids (autrement dit le chemin le plus léger ou encore le plus court).
    L'algorithme fonctionne en construisant un sous-graphe P de manière à  ce que la distance entre un sommet s de P depuis sdeb soit connue et soit un minimum dans G. Initialement P contient simplement le noe“ud sdeb isolé, et la distance de sdeb à  lui-même vaut zéro. Des arcs sont ajoutés à  P à  chaque étape :
    1. en identifiant toutes les arêtes ai = (si1,si2) dans  tel que si1 est dans P et si2 est dans G ;
    2. en choisissant l'arête aj = (sj1,sj2) dans  qui donne la distance minimum depuis sdeb à  sj2 en passant tous les chemins créés menant à  ce noe“ud.
    L'algorithme se termine soit quand P devient un arbre couvrant de G, soit quand tous les noe“uds d'intérêt2 sont dans P.


    dans 1238099544:

    Je suis d'accord avec toi Philippe mais le problème ne vient pas des élèves mais des profs qui se cantonne justement qu'aux calculs en face de leurs élèves. C'est bien dommage car quand on arrive dans le supérieurs ce n'est plus le résultat qui compte mais toute la démarche logique pour y arriver.

    Les profs sont ligotés dans le système (médiatique, administratif, réactions des élèves/parents ... )  par ces "**%ains" de notes et d'examen. Le prof doit rendre des notes, et surtout de bonnes notes. Mais c'est vrai, ce n'est pas du tout évident que l'envie d'enseignement des profs, ce qu'ils ont envie de dire, correspondent à  l'envie d'action des jeunes.   
  • Philippe49Philippe49 Membre
    04:49 modifié #89
    drawAtPoint : ....
  • CeetixCeetix Membre
    04:49 modifié #90
    Merci Ali !

    Oui Philippe u départ j'ai eu du mal à  comprendre comment mettre en oeuvre sur papier Dijkstra .
    En fait je fais ma matrice de continuité puis 3 tableaux. L'un qui me dis si tel noeud a été traité, l'autre pour le noeud parent d'un noeud et le dernier pour les poids. Ca marche super ^^.

    Oui tu as raison pour le systeme qui entoure les prof et je pense que ça doit etre assez frustrant et même peut-être ennuyeux..
  • schlumschlum Membre
    mars 2009 modifié #91
    Dijkstra c'est bien, mais c'est une mini-partie de la théorie des graphes  :P
    Moi mon algo préféré c'est un algo d'IA assez simple : http://fr.wikipedia.org/wiki/Élagage_alpha-beta

    ça permet de faire des jeux avec des IA qui tuent tout  :) (et qui dissent 10 coups à  l'avance " hehe, je vais te latter ! "  >:D)

    J'aime bien aussi les algos de Backtracking pour tout ce qui est résolution...
Connectez-vous ou Inscrivez-vous pour répondre.