La nouvelle version de K3DSurf v0.6.2 apporte beaucoup d'améliorations au niveau de l'interface graphique et du fonctionnement général du programme, mais la plus importante de ces fonctionnalités est certainement l'introduction d'une nouvelle technique de calcul mathématique : K3DSurf peut désormais prétendre au titre du logiciel de calcul mathématique le plus rapide !
En effet, l'amélioration du calcul est impressionnante et peut varier d'un facteur 1,5 à 5 en moyenne, selon le type et la complexité de la formule mathématique.
La technique, nommée "parser géométrique", s'inspire des modèles mathématiques de dimension supérieure à trois et utilise deux méthodes complémentaires d'accélération du calcul :
- Le parallélisme, pour profiter au maximum des capacités CPU d'exécutions multiples et de la mémoire cache L1 et L2, l'unité de calcul est maintenant une portion volumétrique et non plus un simple point. En général, les CPU récents auront un facteur d'amélioration (1.5 < F1 < 5) plus grand que les anciens.
- Utilisation des propriétés géométriques du domaine de définition des fonctions : la forme et l'écriture de la formule mathématique déterminent le facteur (1 < F2 < ?) d'amélioration du calcul.
Au final, le facteur d'amélioration du calcul (F) est le produit des facteurs d'amélioration de ces deux techniques : F = F1*F2.
Aussi, cette technique peut être considérée comme une surcouche aux bibliothèques de calcul mathématique "normaux" et est par conséquent portable sur la majorité des logiciels ayant un module de calcul mathématique.
Pour plus d'explications techniques, visitez cette discussion (avec quelques spécialistes dans la matière) sur le site de PovRay.
Finalement, la combinaison du nouveau parser et de la fenêtre OpenGL à haute résolution est un atout de K3DSurf pour une exploration plus approfondie de l'univers des objets mathématiques.
Améliorations apportées par la version 0.6.2 :
- Nouvelle interface graphique avec menus et barre d'outils.
- Nouveau parser pour le calcul mathématique qui peut être activé/désactivé à volonté.
- La fenêtre OpenGL peut supporter une résolution 10M-Triangles/500-grid
- Une nouvelle table pour l'algorithme MC (Marching Cube) pour les isosurfaces a été créée (mise sous GPL) ; elle peut générer un nombre réduit de polygones comparativement à la table originale.
- Support de la transparence (et génération d'images multicolores).
- Possibilité de sauvegarder la configuration de K3DSurf dans un fichier.
- Ajout/suppression/sauvegarde des formules mathématiques
- Nouveaux exemples d'objets mathématiques (d'autres exemples sont présents sur le nouveau forum)
Aller plus loin
- Présentation et copies d'écran (105 clics)
- Téléchargement (42 clics)
- Forum d'assistance (24 clics)
# joli
Posté par BAud (site web personnel) . Évalué à 7.
une jolie série d'images sur http://www.evolution-of-genius.de/3d/ de quoi réconcilier avec les maths ceux qui seraient plutôt artistes dans l'âme que mathématiciens.
Et visiblement, d'après http://k3dsurf.s4.bizhat.com/k3dsurf-ftopic26.html il y a de quoi faire de la doc' pour ceux qui seraient plutôt littéraires ;-)
Peut-être qu'un couplage avec http://fr.wikipedia.org/wiki/Portail:Math%C3%A9matiques permettrait "facilement" de récupérer des descriptions d'objets mathématiques (en allant chercher la page appropriée) et inversement d'effectuer une représentation rapide à partir de formules trouvées au détour de wikipedia ou autre site ?
[^] # Re: joli
Posté par Abderrahman Taha (site web personnel) . Évalué à 6.
Effectivement Taurolf Sauermann est un artiste a part qui a su inventer son propre style, un mélange d'art plastique et de figure mathématiques. Nous avons le plaisir de l'avoir comme modérateur et membre actif sur le forum.
Nous avons aussi le plaisir d'avoir d'autres artistes professionnels sur le forum ainsi que des physiciens ou encore de jeunes étudiants en architecture... Bref, les mathématiques ne sont pas reservés aux matheux (du moins en ce qui concerne l'aspect representatif des figures mathématiques).
Sur le forum, vous pouvez faire vos interventions en français et pour ceux qui ne comprennenent pas l'anglais, ils peuvent toujours utiliser les services d'un traducteur en ligne comme celui la : http://babelfish.altavista.com/tr
N'hésitez pas a vous inscrire et a partciciper par vos propres créations.
Cordialement,
Taha
[^] # Re: joli
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Je "m'amuse" à voir si un algo de marching cube pourrait être adapté en hardware.
"La première sécurité est la liberté"
[^] # Re: joli
Posté par Abderrahman Taha (site web personnel) . Évalué à 2.
Bonjour,
Dans l'article, je parle d'une nouvelle table pour l'algorithme du "Marching Cube", qui peut être utilisée pour générer un nombre réduit de polygones (en moyenne moité moin que la table originale). Vous pouvez constater vous même le résultat de cette table en regadant les lignes sur les isosurfaces et les comparer avec les lignes sur les anciennes versions de K3DSurf (ou tout simplement en activant le bouton "Triangles"). Cette description "minimale" de l'Isosurface est trés interessante pour ceux qui travaillent avec des modeleurs 3D et qui souvent ont besoin d'un mesh 3D de bonne qualité mais composé d'un nombre réduit de polygones.
L'implémentation de l'algorithme du MC dans K3DSurf est extrémement rapide ce qui rend son implementation "Hardware" dans notre cas pas trop bénéfique (tant qu'on parle de quelques millions de triangles) mais l'idée peut être trés interessante dans d'autres domaines (imagerie médicale par exemple)...je me demande d'ailleur si ça n'existe pas déjà, vu que l'imagerie médicale est un domaine de recherche trés actif.
[^] # Re: joli
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Je pensais que les iso surfaces serait un bon moyen d'aller plus loin.
Même si K3Dsurf est rapide, une implémentation hardware, surtout si le calcul est composé d'opération simple (en gros, tout sauf des multiplications à plein de bits ou des shifts) peut être 10 à 100 fois plus rapide.
En gros, tu me conseilles de regarder le code source ?
"La première sécurité est la liberté"
[^] # Re: joli
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
On peut étendre avec des objets plus complexes mais cela n'est pas forcément utile.
Je voulais voir aussi si on étais obligé de passé par la case "triangle". Si on récupère un vecteur normal à la surface pour chaque pixel de l'image cela suffit. Il "reste" ensuite à trouver un moyen de plaquer une texture et de gérer l'éclairage, du raytracing ou mieux serait un must. D'ailleurs, est-ce simple de calculer un "cone" d'interception pour gérer les rayons au lieu d'une droite ?
Je profite que tu sois là, car tout cela demande pas mal de connaissance mathématique.
"La première sécurité est la liberté"
[^] # Re: joli
Posté par Abderrahman Taha (site web personnel) . Évalué à 1.
Les études reliées aux isosurfaces sont trés vastes et une grande partie de la recherche en infographie y est consacrée. Si vous voulez faire une thèse en Infographie, vous avez toutes les chances d'avoir un sujet de travail qui les utilise. Pour plus d'infos, voici quelques sites ou j'ai trouvé pas mal de documentation :
Paul Bourke :
http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/in(...)
http://local.wasp.uwa.edu.au/~pbourke/modelling_rendering/im(...)
http://local.wasp.uwa.edu.au/~pbourke/
Jules Bloomenthal
http://www.unchainedgeometry.com/jbloom/papers.html
http://www.unchainedgeometry.com/jbloom/
Je vous conseille fortement de lire la première page citée et aussi de télécharger le code source indiqué (plus lisible que le mien ;-) )
Je vois que vous vous interessez a la 3D et a la description des scènes par des isosurfaces...vous allez trouver dans ces pages (comme moi) pas mal de réponses a vos questions.
Cordialement,
Taha
# moi pas comprendre
Posté par 120 . Évalué à -6.
# Rapide
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 4.
Je veux des benchs sur la factorisation de grands entiers, sur des bases de Gröbner, des produits matriciels... Et pas juste du "on va 5 fois plus vite". Plus vite que qui ? que quoi ? quelle version ? quel calcul ?
Bref, le plus rapide dans tout ca, c'est pas le temps de calcul, c'est la redaction de l'article on dirait...(désolé pour le ton)
[^] # Re: Rapide
Posté par Abderrahman Taha (site web personnel) . Évalué à 4.
Cette phrase dans l'article en question parle d'une "amélioration de calcul", par rapport a qui? je vous laisse deviner...
K3DSurf utilise une nouvelle technique pour le fonctionnement interne du "parser" et il battera a plate couture tout autre logiciel de mathématique qui n'utilise pas cette technique: ceci est une certitude et non pas une supposition. Le point d'interrogation dans le titre est du au fait que je ne suis pas sure a 100% que cette technique n'a pas été utilisée dans d'autres logiciels (surtout proprétaires a cause du code fermé, parceque dans ce cas, mon implementation peut être de moindre qualité et donc moin rapide dans son execution).
A ma connaissance, il n'existe pas dans la littérature une description d'un "parser" avec un fonctionnement aussi sophistiqué que celui de K3DSurf.
La aussi vous vous trompez, car ce n'est pas ce qui a été rapporté dans l'article : J'ai bien précisé que c'était "un facteur 1,5 à 5 en moyenne" ...car le parser a le potentiel d'aller beaucoup plus vite que ça (5 est en quelque sorte la borne supérieure la plus petite imaginable).
Aussi, je vous conseilles de toujours prendre le temps de commencer vos interventions par un "Bonjour" ou un "Bonsoir" (même si ça n'a pas beaucoup de sens, vu les décalages horaires) : ça ne vous rendera peut être pas plus intelligent mais ça vous donnera un air plus civilisé qui sera trés apprécié par vos interlocuteurs.
Cordialement,
Taha
[^] # Re: Rapide
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
Un "parser" ? Dédié a quel usage ? Quand meme pas a la lecture des equations ?
Encore une fois, une affirmation (même modérée par un point d'exclamation) mérite des preuves, des comparaisons. Magma, Matlab, GMP, Gambit... Des logiciels ou langages qui permettent de *très* rapides calculs ne manquent pas.
Le terme "calcul' seul me semble donc complètement inadapté,.
[^] # Re: Rapide
Posté par Abderrahman Taha (site web personnel) . Évalué à 1.
Tout d'abord, je vous félicite pour le "Bonjour" de votre message.
Les moderateurs ont eu la gentiellesse de mettre des liens vers Wikipedia pour quelques mots de l'article, dont "parser" et cela évidement pour aider les personnes désireuses d'en savoir un peu plus sur le fonctionnement de la chose.
J'ai aussi mis un lien vers une discussion qui donne plus de détails sur l'implementation de cette technique: Avez vous visitez ces pages?
* Si non, je vous conseilles de le faire car toutes les réponses a vos questions sont la.
* Si oui, je vous dirais juste qu'un parser a pour principales fonctions :
1) La lecture des équations et génération du "opcode" : Une optimisation de cette partie n'aurait rien rapporté en terme de rapidité vue que les équations ne dépassent que rarement une page de texte...
2) Le traitement de ce même "opcode" : C'est cette partie qui a été optimisée dans le "parser géométrique".
Veuillez S.V.P visiter les pages indiquées et si vous y trouvez une partie qui vous ne comprenez pas, veuillez me le faire savoir.
PS: Sourceforge choisi toujours le serveur disponible le plus proche de chez vous.
Cordialement,
Taha
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.