GeoX, la géométrie qui respire

fouffouf Membre
15:58 modifié dans Vos applications #1
Bonjour à  tous  :fouf):

Je vous présente donc ce à  quoi j'ai travaillé depuis mi-juillet : un logiciel de géométrie dynamique. Ce n'est pas encore GeoNeXT, mais ca pourrais peut-être le devenir :o.

Voici donc le lien : GeoX. Avec, il ya quelques fichiers d'exemples avec lesquels vous pourrer vous amuser.

Parmi les choses futures qui seront ajoutés : les polygones en tant qu'objet , les mesures (c'est que je suis en train de faire), le undo-redo, d'autres fonctions de maths comme le projeté orthogonal ou des arcs de cercles, et à  plus long terme, un systéme pour tracer des graphes directement dans le "canevas".

Si vous avez des questions ou des conseils d'amélioration, n'hésitez pas. Pour le code, je vous laisse au besoin une version qui doit dater de quatre ou cinq jours : Sources. Par contre, ca doit être imbittable, parceque sans commentaires et sans doc. Mais, si ca vous amuse :P.

Bonne géométrie ;) :fouf):
«1

Réponses

  • AntilogAntilog Membre
    15:58 modifié #2
    Humm...

    C'est quoi, la géomètrie dynamique?
      :)beta: :o
  • fouffouf Membre
    15:58 modifié #3
    Ca te permet de voir des figures avec des points que tu bouges "en live".
    Je pense que le mieux pour voir, c'est d'essayer ;).
  • muqaddarmuqaddar Administrateur
    15:58 modifié #4
    C'est sympa, du moins le peu que j'ai testé.
    Pas de bug apparemment.

    Un peu de mal avec l'outil transformation. ;)
  • odjauodjau Membre
    15:58 modifié #5
    Sympa même si la géométrie n'a jamais été ma tasse de thé B)

    Par contre je n'ai pas réussi à  déplacer un objet avec la fonction Move ???
  • 15:58 modifié #6
    J'ai un peu problème, si je ferme le document ouvert et que je double clic sur un exemple rien ne se passe...
  • fouffouf Membre
    15:58 modifié #7
    dans 1124742959:

    Un peu de mal avec l'outil transformation. ;)

    Alors, pour transformation, je viens de m'apercevoir qu'il ya un bug.  C'est peut-être pour ca que tu avais du mal. ;)

    dans 1124743676:

    Sympa même si la géométrie n'a jamais été ma tasse de thé B)

    Par contre je n'ai pas réussi à  déplacer un objet avec la fonction Move ???

    Pour Move, on ne peut bouger que des points, pas les objets en entier. C'est un truc auquel je réfléchirais mais mathématiquement, je vais me casser la tête  :crackboom:- :P

    dans 1124780916:

    J'ai un peu problème, si je ferme le document ouvert et que je double clic sur un exemple rien ne se passe...


    Je corrige ca de suite.
    Euh, dans les exemples, le fichier symétrie est bogué (la figure qui s'affiche est fausse). Je vais aussi corriger ca.

    Merci de vos réponses positives ;)

    Ah oui, au fait, dans les choses futures qui seront ajoutés, il y a aussi un zoom et l'export en SVG.
  • WIMPWIMP Membre
    15:58 modifié #8
    La géométrie moi j'adore ça ! mais dommage sous Jaguar rien ne marche :( J'espérais pouvoir reconstruire le projet, mais même les fichiers .nib ne sont pas compatibles avec ma version d'IB
    Tu ne vois pas un moyen d'adapter ça pour 10.2.6 ?
    Un  truc qui m'avait bluffé quand j'apprenais la géométrie (ça fait longtemps), c'est le cercle et la droite d'Euler, si ça te dit quelque chose.
    Ce qu'il y a de bien avec la géométrie, c'est que ce qui marchait dans les années 50 marche aussi bien aujourd'hui. C'est pas comme avec les devTools  B)
  • fouffouf Membre
    août 2005 modifié #9
    Je pense que pour Jaguar, c'est possible, mais il y a quelques fonctions qu'il faudrat reécrire. En effet, j'utilise des NSArrayController. Mais je pense que c'est faisable puisque la semaine précedente je ne les utilisais pas (je me débrouillais avec un NSMutableArray). L'autre truc, c'est pour les prefs, mais la, c'est facile. Je me demande d'ailleur si je vais pas supprimer les bindings parceque j'ai quelques problémes avec.
    Je vais essayer de voir ca, mais ca risque un peu d'être chaud puisque je retourne en cours seulement dans une semaine :'( . Sinon, je peux te passer les nibs sans les Bindings et te dire comment je crois qu'il faut que tu fasses. ;)

    Sinon, pour les corrections, c'est en marche. Les bugs signalés par hoksitan et par supermic sont corrigés ; je fais encore une modif pour faire comme si cette appli gérais les documents comme une application document-based. Je pense que j'aurais fini en fin d'après-midi ;)
  • AntilogAntilog Membre
    15:58 modifié #10
    dans 1124790790:

    []
    Sinon, pour les corrections, c'est en marche. Les bugs signalés par hoksitan et par supermic sont corrigés ;
    []


    Tu veux dire: oxitan?

    OK,  :brule:
  • AliGatorAliGator Membre, Modérateur
    15:58 modifié #11
    Un "Cabri Géomètre" pour OSX ?

    Coooool
    Je teste ça dès que j'ai changé mon disque, à  savoir incessement sous peu
  • WIMPWIMP Membre
    15:58 modifié #12
    dans 1124790790:


    Je vais essayer de voir ca, mais ca risque un peu d'être chaud puisque je retourne en cours seulement dans une semaine :'( . Sinon, je peux te passer les nibs sans les Bindings et te dire comment je crois qu'il faut que tu fasses. ;)

    Ne t'embêtes pas avec ça, car je vois que ça va prendre du temps et j'ai d'autres trucs en cours. Merci quand même.
  • 15:58 modifié #13
    dans 1124791938:

    Tu veux dire: oxitan?


    Non, je pense qu'il voulait parler de osxitan.

    Si ça continue, je vais mettre Aridon comme pseudo moi...

    Bon sinon pour en venir au sujet, il faut veiller à  ce que quand l'utilisateur commence quelque chose, il le le finisse, ou . Par exemple, dessine 3 points, puis choisis l'outil cercle, et clique sur un point. Maintenant tu te rends compte que ce n'est pas un cercle centre point qu'il faut, mais un cercle "3 points qu'il faut", donc il fait le  changement, et clique sur les autres points.  Le résultat est assez surprenant.
  • fouffouf Membre
    15:58 modifié #14
    en effet, je vais y penser. Mais là , j'ai plus le courage. J'ai passé ma journé à  essayer de résoudre ce pu.... de bug avec les enregistrement de symétrie et ca marche toujours pas :'( .

    Sinon, voila une version avec le bug de l'outil transformation et de l'ouverture de document résolu. Il y a aussi la possiblité de créer un autre document vide. Le seul truc, c'est que ca enregistre le document en cours si cela n'a pas été fait et que j'arrive pas à  faire un comportement identique à  celui d'un app document-based. A oui, il y avait un bug de comportement avec les outils, et maintenant, un clique droit "réinitialise" les outils.

    [Fichier joint supprimé par l'administrateur]
  • 15:58 modifié #15
    C'est génial ton truc, j'aime la géométrie (sans plus..) et j'ai pu faire une tête de clown avec :p ... Bon ok...
    Heu par contre, le déplacement de la vue je trouve ça pas top, devoir cliquer sur le bouton déplacement à  chaque fois qu'on veut déplacer... et si tu implémentais un NSScrollView sur ta view ?
  • fouffouf Membre
    15:58 modifié #16
    La voici, la voila. Une nouvelle version avec des bugs corrigés et de nouvelles fonctions :
    - on navigue dans la vue avec un drag-souris droite ou avec la molette.
    - les cercles peuvent-être définis avec un rayon fixe.
    - des mesures affichables.
    - des bugs corrigés
    - localisation en francais
    Elle est ici.

    Merci à  tous.
  • ChachaChacha Membre
    15:58 modifié #17
    Au bout de quelques minutes d'utilisation, je te livre déjà  quelques pistes:

    -on peut sortir tous les points de l'écran; on peut les ramener grâce à  la navigation, mais une scrollbar dynamique serait bienvenue
    -quelle différence entre "bouger" et "sélectionner" ?
    -le popup "contextuel" n'est pas assez large
    -une info-bulle serait bienvenue pour indiquer quelles sont les étapes à  accomplir pour terminer de définir une forme. Par exemple, si on veut définir un cercle par centre et point, le tooltip initial serait "ce centre" et quan don aura sélectionné le centre, il deviendrait "ce point".
    -quand on trace une ligne, ce serait bien de la "voir" dès qu'on a sélectionné le premier point
    -pas compris comment tracer un polygone

    -bug :
    -démarrer l'appli, un document vierge s'ouvre
    -le modifier, par exemple en rajoutant un point
    -fermer la fenêtre : il ne propose pas de sauvegarder
    -ouvrir un nouveau document : il demande de sauvegarder; refuser
    -fermer le document
    -on ne peut plus en rouvrir aucun

    -bug:
    -créer un segment avec deux points (A et B)
    -insérer un point sur le segment (C)
    -en mode "sélectionner", déplacer une extrémité (par A). C bouge en même temps
    -mais si à  un moment A passe sur B, C reste bloqué sur B.

    -bug : je ne sais pas les reproduire, mais dans la console, j'ai eu plein de
    2005-09-01 20:52:16.914 GeoX[320] *** -[NSCFString replaceCharactersInRange:withString:]: nil argument
    2005-09-01 20:53:09.611 GeoX[325] *** Assertion failure in -[NSView initWithFrame:], AppKit.subproj/NSView.m:709
    2005-09-01 20:53:09.611 GeoX[325] Exception raised during posting of notification.  Ignored.  exception: Uninitialized rectangle passed to [View initWithFrame:].
    2005-09-01 20:48:53.879 GeoX[318] *** -[NSCFArray objectAtIndex:]: index (0) beyond bounds (0)

    Voilà 

    Bon courage !

    +
    Chacha
  • fouffouf Membre
    15:58 modifié #18
    dans 1125601335:

    Au bout de quelques minutes d'utilisation, je te livre déjà  quelques pistes:

    Déjà  merci qe l'avoir testée ;)
    dans 1125601335:

    -on peut sortir tous les points de l'écran; on peut les ramener grâce à  la navigation, mais une scrollbar dynamique serait bienvenue

    J'ai essayé avec une scrollView, mais je n'y arrive pas. Je réessayerais avec juste des NSScrollers.
    dans 1125601335:

    -quelle différence entre "bouger" et "sélectionner" ?

    Quand tu as un objet sélectionné (en bleu), tu faits Pomme-i et tu as sa description.
    dans 1125601335:

    -le popup "contextuel" n'est pas assez large

    Je vais le remplacer par des boutons avec un menu contextuel "embarqué". Un peu comme les pop-up buttons.
    dans 1125601335:

    -une info-bulle serait bienvenue pour indiquer quelles sont les étapes à  accomplir pour terminer de définir une forme. Par exemple, si on veut définir un cercle par centre et point, le tooltip initial serait "ce centre" et quan don aura sélectionné le centre, il deviendrait "ce point".

    Bonne idée, je vais le faire.
    dans 1125601335:

    -quand on trace une ligne, ce serait bien de la "voir" dès qu'on a sélectionné le premier point

    Ouarf, c'est prévu, mais j'ai pas eu le temps ;)
    dans 1125601335:

    -pas compris comment tracer un polygone

    Oups, j'ai oublié de désactivé le bouton. Je suis bête  ???

    dans 1125601335:

    -bug :
    -démarrer l'appli, un document vierge s'ouvre
    -le modifier, par exemple en rajoutant un point
    -fermer la fenêtre : il ne propose pas de sauvegarder
    -ouvrir un nouveau document : il demande de sauvegarder; refuser
    -fermer le document
    -on ne peut plus en rouvrir aucun
    Je vais corriger ca. Que c'est dur de faire comme une architecture document-based from scratch.

    dans 1125601335:

    -bug:
    -créer un segment avec deux points (A et B)
    -insérer un point sur le segment (C)
    -en mode "sélectionner", déplacer une extrémité (par A). C bouge en même temps
    -mais si à  un moment A passe sur B, C reste bloqué sur B.

    Il faut que je trouve un moyen de conserver les proportions. J'y planche ;)

    dans 1125601335:

    -bug : je ne sais pas les reproduire, mais dans la console, j'ai eu plein de
    2005-09-01 20:52:16.914 GeoX[320] *** -[NSCFString replaceCharactersInRange:withString:]: nil argument
    2005-09-01 20:53:09.611 GeoX[325] *** Assertion failure in -[NSView initWithFrame:], AppKit.subproj/NSView.m:709
    2005-09-01 20:53:09.611 GeoX[325] Exception raised during posting of notification.  Ignored.  exception: Uninitialized rectangle passed to [View initWithFrame:].
    2005-09-01 20:48:53.879 GeoX[318] *** -[NSCFArray objectAtIndex:]: index (0) beyond bounds (0)

    Pour l'assertion failure, il s'agit d'un truc que ne se reproduit que lorsque je passe en Deployment. Je ne sais absolument pas pourquoi il se produit.
    Pour le index beyond bounds, je croyais avoir enlevé cette sorte de bug de mon prog, mais apparement, il en reste. Je vais essayer de reproduire ça.


    Merci beaucoup.
  • fouffouf Membre
    15:58 modifié #19
    Bonjour à  tous.

    Voila une belle nouvelle version de GeoX. J'ai ajouté pas mal de choses depuis la dernière fois, ya pas encore tous ce quee je veux ;).

    Toutes les remarques faites par Chacha ne sont pas encore toutes prises en compte, mais une partie des bugs est corrigée. Dans la prochaine version, le système de barre de "log"(tooltip) devrait être ajouté.

    Voila donc, une version intermédiaire en attendant d'autres avancement ;)
  • AliGatorAliGator Membre, Modérateur
    15:58 modifié #20
  • fouffouf Membre
    15:58 modifié #21
    Oui et non.
    GeoMac ne permet pas de faire bouger des objets "à  la souris". Ni vraiment avec le clavier d'ailleur. Perso, j'appelle plus ça de la géométrie dynamique :P
  • AntilogAntilog Membre
    15:58 modifié #22
    dans 1128622740:

    Oui et non.
    GeoMac ne permet pas de faire bouger des objets "à  la souris". Ni vraiment avec le clavier d'ailleur. Perso, j'appelle plus ça de la géométrie dynamique :P


    C'est donc de la géomètrie statique?  <3 <3 <3 <br />
    :)beta: :brule:
  • AliGatorAliGator Membre, Modérateur
    15:58 modifié #23
    dans 1128622740:

    Oui et non.
    GeoMac ne permet pas de faire bouger des objets "à  la souris". Ni vraiment avec le clavier d'ailleur. Perso, j'appelle plus ça de la géométrie dynamique :P
    Oui en fait je l'ai essayé hier soir, et rien à  voir.
    Et beaucoup moins intuitif que GeoX :)
  • groumpfgroumpf Membre
    15:58 modifié #24
    je viens d'essayer, c'est pas mal, un export SVG ca pourrait etre interessant.
    Moi ce qui m'interesserai dans ce genre de soft c'est un compas virtuel permettant de tracer des arcs de cercles et ensuite de définir un nouvel objet composé des arcs qui s'intersectent (et en oubliant les "bavures" : dépassement des arcs). Ca permettrai des faire des figures au compas et dont on pourrait faire varier la taille ensuite.

    sinon j'ai eu un plantage quand j'ai voulu scroller dans la liste des objets.
  • AliGatorAliGator Membre, Modérateur
    15:58 modifié #25
    dans 1128797554:

    je viens d'essayer, c'est pas mal, un export SVG ca pourrait etre interessant.
    Moi ce qui m'interesserai dans ce genre de soft c'est un compas virtuel permettant de tracer des arcs de cercles et ensuite de définir un nouvel objet composé des arcs qui s'intersectent (et en oubliant les "bavures" : dépassement des arcs). Ca permettrai des faire des figures au compas et dont on pourrait faire varier la taille ensuite.
    Et bien c'est déjà  le cas en traçant des cercles.

    Exemple pour tracer la bisectrice d'un angle, donc si tu as 2 demi-droites déjà  placées sur ton dessin, tu fais un cercle dont le centre est le point commun des demi-droites (le sommet de ton angle), et d'un rayon quelconque (disons 5). ensuite tu places un point (outil point) par intersection du cercle et de la première demi-droite, et pareil avec la 2e demi-droite. Il ne te reste plus qu'à  tracer le segment reliant ces 2 points, prendre le milieu de ce segment et tracer la demi-droite reliant le sommet de l'anglet avec ce milieu de segment.

    En fait ce qu'il manque c'est de pouvoir masquer des objets, je pense. Genre une fois que tu as tracé tes cercles et segments qui ne t'ont servi qu'à  la construction, pouvoir les masquer pour ne laisser que la construction finale.
  • fouffouf Membre
    15:58 modifié #26
    Bonsoir à  tous.
    Voici une version mise à  jour, avec comme promis, les tooltips, les mesures d'angles et les droites tangeantes à  un cercle.
    Par contre, il se pourrait qu'il y ait encore quelques bugs, et c'est donc pour ca que je la met en Beta.

    Ensuite, ce n'est pas encore localisé, mais ca ne devrait tarder une fois que vous aurez "validé" cette version.

    Enfin, je fais une appelle d'offre pour un autre nom, car, si vous tapez GeoX dans Google, vous verez sûrement ce qu'occupe la première place. Or, comme ca me pompe (oh la la, super jeu de mot :P) je cherche un autre nom. Et étant assez peu doué pour cela , je m'adresse à  vous ;)

    Merci d'avance,
    :fouf):

    Voici le lien : GeoX(beta)
  • AliGatorAliGator Membre, Modérateur
    15:58 modifié #27
    CocoaGeo ?
    iGeo ?

    Le problème avec le "Géo" c'est que cette abbréviation me fait plus penser à  Géographie que Géométrie

    Géo Maà®tre ?
    iGéométrie ?
    GeoMectric ?
    GeoDraw ?
  • muqaddarmuqaddar Administrateur
    15:58 modifié #28
    GeoDraw c'est pas mal, ça sonne bien. ;-)
  • fouffouf Membre
    15:58 modifié #29
    GeoDraw et et GeoMetric sont pas mal du tout. Je vais y réfléchir et je vous dis tout ca après le rush de la semaine (pfff... 4 controles en 3 jours, c'est lourd ... :P).

    Merci à  vous deux ;)
  • 15:58 modifié #30
    Pourquoi pas Geoffrey ? :)
  • yqnnyqnn Membre
    15:58 modifié #31
    dans 1128622740:

    Oui et non.
    GeoMac ne permet pas de faire bouger des objets "à  la souris". Ni vraiment avec le clavier d'ailleur. Perso, j'appelle plus ça de la géométrie dynamique :P



    Bonjour, je suis le développeur de geoMac.

    Je tiens à  signaler que dans geoMac les figure peuvent bouger non seulement à  l'aide de la souris mais aussi du clavier ! :D
    Pour pouvoir bouger un point, il faut qu'il soit non contraint, et pour qu'un point soit non contraint, il ne faut pas lui donner des cordonnées (ya une aide contextuele sur les champs de coordonnées qui l'explique), de plus les point sur une ligne ou sur un cercle peuvent eux aussi être bougés à  la souris.
    Ensuite pour déplacer une figure au clavier, il faut utiliser les variables (par exemple:  créez un variable "abscisse", puis créer un point avec "abscisse" comme abscisse et "abscisse^2" comme ordonée, ensuite cliquer sur la figure pour lui donner le focus, et appuyez sur les flèches du clavier, vous verrez le résultat).

    geoMac n'est pas encore très simple d'utilisation, mais ça ne le rend que plus puissant (exemple de ce qui sera possible dans la prochaine version : http://ynn.free.fr/geomac.mov , c'est une vidéo avec la réprésention en "mode toile" d'une suite suite arithmético géométrique ).
Connectez-vous ou Inscrivez-vous pour répondre.