lol merci schlum .... 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à ...
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
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 ?
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.
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.
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.
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
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 ^^)
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.
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.
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 ...
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 .
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.
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..
Réponses
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à ...
bon bon je vais réessayer
- 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
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.
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.
J'ai déjà reussi à faire ca.
Apres ca bug, jai un probleme d'indice de tableau.
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.
Bon programmeur et mauvais matheux ça sonne mal
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.
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.
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.
Sinon vous auriez un post cléf ou une piste pour juste afficher du texte dans chaque carré (NSRect) ?
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 ...
En info on fait de l'algo avec par exemple l'algo de Dijkstra. C'est interessant et moins rébarbatif .
Par contre j'aimerai bien ecrire l'info en texte dans mon rectangle... Vous pouvez me donner une petite piste?
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.
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.
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..
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...