Projection Sphérique

Aller en bas

Projection Sphérique

Message par Mickael le Mar 4 Mar - 21:26

Bonsoir,

Lors de notre rendez vous de lundi avec Monsieur Nanard, celui-ci m'a fait remarquer à juste titre que la déformation sphérique n'était pas bonne.
En fait je me suis inspiré du principe osgdistortion avec une fonction qui étire la scene sur les côtés, or ce que nous voulons c'est que les côtés soient extremement rapprochés.
Après avoir cherché cette nouvelle fonction de déformation, je pensait l'avoir trouvé.
Voici les deux courbes :


Série 1 : représente la scene non déformée.
Série 2 : déformation qui étire les côtés
Code:
(sin(osg::PI*(x-0.5))+1)/2
Série 7 : déformation censé rapprochée les côtés
Code:
((asin(-1+2*x))/osg::PI)+0,5

Le problème avec cette fonction, c'est qu'elle fait un gros n'importe quoi.
Il me semblait pourtant que la courbe de déformation était la bonne, donc j'aimerais savoir ce que vous en pensez s'il vous plait.
avatar
Mickael

Nombre de messages : 559
Age : 32
Date d'inscription : 22/01/2007

Voir le profil de l'utilisateur http://webmikl.free.fr

Revenir en haut Aller en bas

Re: Projection Sphérique

Message par sylvain_marie le Mer 5 Mar - 12:26

Sans vouloir donner trop de détails (car cela fait partie du sujet en fait Smile ), voilà quelques pointeurs :

Quelques exemples de courbes de transformation :
http://dem.ocracy.org/libero/photobooth/

Comparaison et limites projections linéaire/sphérique :
http://strlen.com/gfxengine/fisheyequake/compare.html

On peut noter par ailleurs que cette technique marche pour des angles de vue >90° mais qu'une projection sphérique sur 180° ne peut pas être obtenue à partir de la déformation d'une unique projection linéaire (une projection linéaire avec un angle de vue de 180° est impossible). Il va falloir assembler plusieurs projections linéaires partielles. L'example osgdistortion avec l'option "--dome" en est un example (un peu plus compliqué, fait pour projeter du 360° sur ce genre de jouets : http://www.pufferfishdisplays.co.uk/case_studies.html )

Sylvain

sylvain_marie

Nombre de messages : 13
Date d'inscription : 23/01/2008

Voir le profil de l'utilisateur http://www.nexgenergo.com

Revenir en haut Aller en bas

Re: Projection Sphérique

Message par Mickael le Ven 21 Mar - 0:26

Bonsoir,

Tout d'abord merci pour vos réponses.
Lors de la réunion avec Monsieur Nanard et avec vous au téléphone, nous avons décidé de réaliser 3 panneaux et d'appliquer sur ces 3 panneaux 2 déformations différentes.
J'ai tout d'abord essayé de repartir de l'exemple d'osgdistortion --dome, malheureusement je n'ai pas tout compris à cet exemple et de ce fait, je n'ai pas réussi à me retrouver avec 3 panneaux.
Donc peut être que pour travailler sur ces panneaux, nous pourrions au niveau des shader définir des positions de limites à ces panneaux et d'appliquer entre ces positions les lois de déformations ?

Si vous pouviez me donner votre avis la dessus s'il vous plait, ou sinon si en partant de osgdistortion, il y a un moyen de créer ces 3 panneaux.

Merci
Mickaël
avatar
Mickael

Nombre de messages : 559
Age : 32
Date d'inscription : 22/01/2007

Voir le profil de l'utilisateur http://webmikl.free.fr

Revenir en haut Aller en bas

Re: Projection Sphérique

Message par Mickael le Ven 21 Mar - 21:18

Bonsoir,

En cherchant un peu aujourd'hui j'ai trouvé quelques liens sur les projections, et notamment sur la projection stéréographique.
Voici les liens :
http://www.uwgb.edu/dutchs/STRUCTGE/sphproj.htm
http://fr.wikipedia.org/wiki/Projection_st%C3%A9r%C3%A9ographique
http://www.cambridgeincolour.com/tutorials/image-projections.htm

Ces différents sites expliques cette projection ainsi que d'autres types.

En partant de ceci, j'ai essayé de modifier l'algorithme de projection sphérique. J'ai pris en compte la profondeur et j'ai modifié le calcul des coordonnées afin d'effectuer la projection stéréographique.
Ensuite je recolle comme précédemment la texture selon ces nouvelles coordonnées.
Mais il y a un problème, cela ne fait que réduire la scene et ne l'étire pas ou ne fait aucune projection remarquable.

J'ai mis a jour le code sur le serveur svn.

Je ne comprends pas pourquoi cela ne modifie en rien la profondeur de l'image.
Et peut on utiliser un Frame Buffer Object dans une texture 3D au lieu de 2D ?
Cela me donnait souvent des erreurs de ce type :
Code:
"The variable 'hglrc' is being used without being initialized."

Merci,
Mickaël
avatar
Mickael

Nombre de messages : 559
Age : 32
Date d'inscription : 22/01/2007

Voir le profil de l'utilisateur http://webmikl.free.fr

Revenir en haut Aller en bas

Re: Projection Sphérique

Message par sylvain_marie le Ven 28 Mar - 13:49

Désolé je viens seulement de voir les nouveaux messages, le forum ne semble plus envoyer de mail quand de nouveaux messages sont postés ? :-(

Je suis occupé par mon déplacement de la semaine prochaine, mais j'essaie d'avoir des éléments de réponse au plus vite.

Une question: prévoyez-vous de rendre compatibles les choix faits dans CApp.cpp lignes 64->81 ? (c'est à dire avoir des checkbox dans le wxPanel de droite pour activer ou pas les différentes parties du projet)

Sylvain

sylvain_marie

Nombre de messages : 13
Date d'inscription : 23/01/2008

Voir le profil de l'utilisateur http://www.nexgenergo.com

Revenir en haut Aller en bas

Re: Projection Sphérique

Message par Mickael le Ven 28 Mar - 14:50

sylvain_marie a écrit:
Une question: prévoyez-vous de rendre compatibles les choix faits dans CApp.cpp lignes 64->81 ? (c'est à dire avoir des checkbox dans le wxPanel de droite pour activer ou pas les différentes parties du projet)
Sylvain

Bonjour,

Oui, c'est programmé, c'est pourquoi nous voulons pouvoir changer les shaders selon ces checkbox.
avatar
Mickael

Nombre de messages : 559
Age : 32
Date d'inscription : 22/01/2007

Voir le profil de l'utilisateur http://webmikl.free.fr

Revenir en haut Aller en bas

Re: Projection Sphérique

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum