SURFER core development

projet

SURFER core development

Statut

Ouvert

Comment participer ?

Check out the jsurf repository on github and contact the author. Contributions in form of expert knowledge without actually working on the source code are welcome as well.

Crédits

Christian Stussak

jsurf est le cœur du programme SURFER et de bien d’autres projets pour la visualisation de surfaces algébriques réelles. SURFER est capable de produire des images d’une simple surface algébrique de manière relativement rapide et robuste. Ce projet a pour but d’étendre les potentialités de jsurf pour le rendu de plusieurs surfaces implicites avec transparences.

Présentation

L’algorithme de visualisation de jsurf utilise le lancer de rayons, c’est-à-dire est basé sur le calcul des intersections entre la surface et de rayons partant d’un point de vue virtuel. L’implémentation actuelle ne permet seulement de traiter une seule surface à la fois, afin d’améliorer la vitesse de rendu. Aussi, la transparence n’est pas gérée, car seulement l’intersection avec le plus proche objet est déterminée.

Tâches

Dans le but de permettre le rendu de plusieurs surfaces, le cœur du procédé de lancer de rayon doit être réécrit. De plus, le format de fichier doit être étendu, peut-être même reconçu à partir de zéro, car il n’enregistre actuellement seulement une liste de couples clef/valeur.

Permettre de gérer la transparence sans dégrader les performances nécessite de revoir les algorithmes existants permettant de trouver les racines réelles de polynômes invariants. Un projet parallèle serait d’implémenter des algorithmes de recherche de racines qui soient aussi robustes pour des fonctions générales (différentiables ?). Ceci constituerait le premier pas dans le sens d’une visualisation de surfaces implicites en général.

Compétences recherchées
  • Surfaces multiples, transparence: calcul graphique, lancer de rayons, programmation Java
  • Format de fichiers : construction de compilateur/parseur, programmation Java
  • Amélioration des performances :algèbre, analyse numérique, algorithmes et structures de données, recherche de racines de polynômes invariants.
  • Surfaces implicites générales : même que ci-dessus mais pour des méthodes qui ne sont pas restreintes aux polynômes

Fichiers