Dessiner la bouteille de Klein

Bonjour
Sur Wikipedia, j'ai trouvé une paramétrisation de la bouteille de Klein qui donne ça. Je ne la trouve pas formidable. En connaissez-vous des mieux ?74020

Réponses

  • Quoique finalement elle est pas si mal...

    Sinon j'ai essayé les formules de ce lien. J'ai essayé des variantes car je soupçonne une faute dans les formules (ça ne ressemble pas du tout à la bouteille de Klein, je n'ai peut-être pas pris les bonnes formules, je ne sais pas).74022
    74024
    74026
  • Bonjour
    Un de mes enfants m'avait offert en cadeau, il y a fort longtemps, une bouteille de Klein en forme de tasse, qu'il avait dû acheter, je le soupçonne, dans un voisinage du M.I.T.
    Amicalement
    [small]p[/small]appus
  • Les dessins qui bougent ressemblent pourtant à des immersions de la bouteille de Klein dans $\R^3$ (il faut s'y faire, on n'aura jamais de plongement). Mais le fait qu'ils bougent, outre donner le tournis, rend difficile leur lecture ; il vaudrait mieux plusieurs vues fixes sous différents points de vue.
  • Bonjour,
    on peut trouver des images sur le net en tapant povray bouteille de Klein, par exemple :

    http://aesculier.fr/fichiersPovray/klein/klein.html

    Il y a le code POV-ray.

    Lionel
  • Ma préférée :
    Imagine un huit dessiné dans un demi-plan dont le bord ne coupe pas le huit.
    Pendant que le demi-plan tourne progressivement de $2\pi$ autour de son bord,
    le huit tourne de $\pi$ autour de son point double, en restant dans le demi.plan.

    Le huit engendre alors une bouteille de Klein.74028
  • @Gabuzomeu j'ai pris les formules "first part" et "second part" de ce lien. Ce n'est pas celles-ci qu'il fallait prendre ?
  • @lionel21 Merci. Je ne connais pas le POVray mais je vais étudier ça.
  • @lionel21 Super. J'ai installé POVray sans problème et la bouteille de Klein ça marche.
  • Visiblement, tu t'es trompé en recopiant les formules, ou tu as pris d'autres valeurs pour les paramètres a, b, c. En Sage :
    a=3; b=4; c=2
    u,v=var('u,v') ; r=c*(1-cos(u)/2)
    x1=(a*(1+sin(u))+r*cos(v))*cos(u)
    x2=a*(1+sin(u))*cos(u)-r*cos(v)
    y1=(b+r*cos(v))*sin(u) ; y2=b*sin(u); z=r*sin(v)
    K1=parametric_plot3d([x1,y1,z],(u,0,pi),(v,0,2*pi), opacity=0.8)
    K2=parametric_plot3d([x2,y2,z],(u,pi,2*pi),(v,0,2*pi),\
                         color='red',opacity=0.8)
    show(K1+K2, frame=False, viewer='tachyon')
    
    74042
  • Hmmm je vérifie et je refais. Mais j'ai un peu du mal à voir que ton dessin est la bouteille de Klein.
  • Voilà j'ai vérifié les formules et j'ai refait le dessin. Vous trouvez que ça ressemble à la bouteille ?74044
    74046
    74048
  • Bon on voit mieux avec les 2 couleurs mais moi je ne vois toujours pas cette bouteille 8-)74050
    74052
    74054
  • Voilà la bouteille avec POVRay. Couleur pas top à mon goût, mais ça se configure.74056
  • Voilà j'ai vérifié les formules
    Tu as beau avoir vérifié, tu n'as pas trouvé ton erreur (et il y en a une !).
    J'ai donné le code que j'ai écrit en Sage, en recopiant exactement les formules de la page de mathcurve, et tout le monde peut voir que ça sort bien une bouteille de Klein.74062
    74064
    74066
  • Ok, je plaide coupable. 8-) Je vais vérifier à nouveau.

    À part ça mazette, je voulais pomper le code POVRay pour le faire dans R mais ce n'est pas une mince affaire.
  • Aaahhh je crois que mon erreur c'est que j'ai pris (u,pi,2*pi) pour les deux parties ! Mes formules sont bien justes. Pffff (td)
  • Pas encore ça il me semble :-D (td)74068
  • Mazette, je suis en train de reproduire le POVRay dans R, je ne sais pas ce que ça va donner mais en tout cas c'est puissant le POVRay ; ça dessine immédiatement la bouteille alors que R tourne depuis 1/4 d'heure et n'a pas encore fini.
  • R, ce n'est pas pour faire des stat ?

    La version 3.7 est multi-coeurs, ça peut énormément accélérer le rendu en fonction du nombre de processeurs que tu as.

    Lionel
  • R 3.7 ? La dernière version est la 3.4. Tu parles peut-être de Microsoft R.

    Non, enfin oui et non, R ce n'est pas pour faire que des stats. Il y a des milliers de packages pour R. On peut "tout" faire avec R. Mais c'est vrai que c'est très orienté stats. Pour les dessins en 3D j'utilise le package rgl, qui est un "wrapper" de la librairie C OpenGL.C'est une bombe atomique, mais un peu lent pour certains trucs. Jette un oeil ici par exemple, mais tu devrais trouver facilement d'autres documents sur rgl. En tout cas il est beaucoup plus simple à utiliser que la vraie librairie C OpenGL (et aussi la librairie OpenGL Haskell).
    Perso je m'en fiche un peu de la vitesse, je trouve toujours un autre truc à faire pendant ce temps.
  • Regarde par exemple ce que j'ai fait avec rgl B-)-74070
  • Voilà la bouteille avec les équations que j'ai piquées dans le prog POVRay. Hélas j'ai oublié de mettre de la couleur transparente, et il faut ~1 heure pour faire le dessin. Joli quand même.74072
  • Je parlais de la version 3.7 de POV-Ray qui est un logiciel de lancer de rayons et donc prévu pour faire du rendu 3d. Tu peux faire de la transparence, du placage de texture et de la programmation. Je joins un hippocampe texturé de bois réalisé sous POV-Ray avec deux miroirs.

    Lionel74074
  • Ah non finalement ça va assez vite. Je perdais du temps à cause de points qui ne servaient à rien.74076
  • Ah ok @Lionel21. Ca l'air puissant ce truc, mais pas évident à prendre en mains au début.
  • @Lionel21, Si je ne m'abuse, on peut exporter un dessin POVRay en STL pour l'imprimer en 3D. Tu sais comment on fait ça ?
  • En fait, ca bien pour faire des trucs rapides : intersection, union et différence de surfaces. Cela permet d'avoir rapidement un rendu. Et après, tu peux peaufiner avec les textures, les matériaux.

    Tu peux faire des animations via un fichier gif : je fais faire un lancer de ballon de rugby à mes étudiants :

    https://ufrsciencestech.u-bourgogne.fr/licence2/Info33/SyntheseImage/TP3/

    Lionel
  • Cool ça, c'est pas évident comme algorithmes.

    Tiens voilà ma bouteille en Haskell.

    J'ai cru voir que Blender permet d'exporter du POVRay en STL.74078
  • Ah non Blender (je viens d'essayer) permet de manipuler des STL mais pas de convertir le POVRay en STL. Pour ça il faut Meshlab. Je ne peux pas l'installer, je n'ai pas les droits admin.
    Mais bon je peux exporter en STL avec la librairie rgl de R.
  • J'ai des collègues qui utilisent blender en master.

    Pour l'algo, c'est tout con :
    - un coup de m g = m a puis deux primitives
    - intersection d'une parabole avec le sol
    - calcul de trois points de contrôle de la courbe de Bézier (intersection de deux droites) et on itère.

    Lionel
  • J'ai trouvé une astuce terrifique pour installer Meshlab sans les droits admin. Il suffit de décompresser l'installeur exe avec 7-Zip et c'est bon, il n'y a qu'à lancer le exe qui est dedans !
  • Bon je n'ai pas encore tout compris et j'en ai assez là.
    Il faut suivre ce tuto. Il faut taper du code dans POVRay et ça crée un fichier asc. Ensuite on peut ouvrir ce fichier asc dans Meshlab, et là (je pense, pas encore essayé) le convertir en STL, le format pour l'impression 3D.
    Cool, bien bossé aujourd'hui :-)
  • Bon je n'ai pas réussi à exporter en STL. J'ai réussi en PLY.
    D't"façon j'avais dit que je laisse tomber pour aujourd'hui. :-X
    Au pire, je ferai tout ça dans R. Mais ces logiciels ont l'air intéressants.
  • J'ai trouvé une astuce terrifique pour installer Meshlab sans les droits admin. Il suffit de décompresser l'installeur exe avec 7-Zip et c'est bon, il n'y a qu'à lancer le exe qui est dedans !
    Ahahahah! Je viens de faire la même chose avec un autre logiciel, ça marche ! Je vias m'installer plein de trucs sur le pc du boulot lol !
  • Absolument magnifique POVRay. Regardez ce noeud de tore. Merci encore @Lionel21 pour cette découverte.74092
  • En voilà une bien belle. Trouvée dans un fichier OBJ de 45 MB 8-) Fichier importé dans Meshlab puis exporté au format WRL, enfin visualisé avec QIEW avant de l'exporter en PNG. Il en faut des logiciels ! Quant à R, ça fait 20 bonnes minutes qu'il lit le fichier OBJ, et il n'a pas encore fini.74148
  • Lionel21 a écrit:
    J'ai des collègues qui utilisent blender en master.
    Blender, je n'y comprends absolument RIEN. Je n'arrive même pas à fermer le fichier en cours ou à créer un nouveau fichier !!

    Meshlab est terriblement puissant, il ouvre le fichier OBJ de 45 MB en un rien de temps. Par contre le rendu est moche et je ne sais pas comment le modifier avec les multiples menus disponibles. La seule chose que j'ai trouvée à faire c'est de l'exporter en WRL pour le visualiser avec QIEW. Mais QIEW ne permet aucune option.
    J'ai aussi Wings3D. Il peut importer pas mal de formats exportables par Meshlab, mais il plante pour les fichiers trop gros.
  • Wow, R a finalement lu le fichier OBJ de 45 MB, après une bonne demie-heure. Le rendu est joli. Facilement manipulable et configurable. Comme quoi la lenteur n'est qu'un petit problème.74152
  • Cette jolie bouteille méritait bien une petite animation.
    D'après Meshlab, la bouteille a 1700000 faces. D'où cette lisseur (et les 45 MB).74154
  • Encore une trouvaille... Cette capture d'écran vient d'un PDF !
    Meshlab permet d'exporter au format U3D. C'est un fichier que l'on peut inclure dans LaTeX avec pdflatex et qui est interactif dans le PDF (on peut zoomer, tourner, changer la couleur....). Le PDF ne fait que 6 MB.
    Il y a un petit bug je vois, le blanc en bas à gauche. Je vais le signaler auw développeurs.74162
  • Voilà un exemple de 40 KB, que je peux donc inclure ici. Si vous voulez tester pour vous amuser. Je pense qu'il faut Acrobat Reader.
  • Une animation de fou furieux : http://www.josleys.com/show_gallery.php?galid=377
    Je vous recommande chaudement de regarder les autres animations et images de ce site. C'est du lourd.
  • Bouteille de Klein dessinée à partir de son équation algébrique à l'aide de l'algorithme "marching cubes". Me paraît un peu bizarre cette bouteille...74486
Connectez-vous ou Inscrivez-vous pour répondre.