PDA

Voir la version complète : Retoucher une texture Terre "sphérique"



ozchan
11/02/2007, 15h02
Bonjour à tous et toutes.

Pour faire une planète Terre j'utilise comme tout le monde une image jpeg déformée pour s'adapter à une sphère.
Oui mais voilà il faut que j'aille placer des frontières sur cette image et notamment près des pôles, là où est complétement déformé ?!?
Est-ce qu'on peut travailler sur une image "normale" et ensuite la transformer en "sphérique" ou sinon comment faire ???

Pour ceux qui me comprennent mal je met un image en référence.
Et j'attends vos suggestions...

http://img291.imageshack.us/img291/5091/earthya5.jpg

luistappa
12/02/2007, 02h11
Tu peux tout simplement utiliser une carte géopolitique faite suivant la même projection (cylindrique), cela existe. Cela semble le plus simple, d'autant plus qu'au niveau des pôles il n'y a pas tant de fontière que cela.

Et cela d'autant plus que toutes les cartes individuelles des états que tu vas trouver, sont elles aussi déformées. Il suffit pour s'en convaincre de prendre une carte des USA ou de la Russie et de regarder la position et les différents écartements en longitude et latitude. Toute carte est une projection d'une partie d'une sphère sur un plan. Et toutes les cartes "pratiques" c'est à dire en un seul morceau sont déformées. Il y a pour faire simple et sans entrer dans les détails trois types de projection.
1) la classique projection (cylindrique) de la sphère sur un plan (celle que tu nous montres) mais son défaut est de ne restecter ni les distances ni les surfaces.
2) les projection qui respectent les surfaces
3) les projections qui respectent les distances

Mais en dehors de la première elles ne sont pas utilisablent pour mapper une sphère car elles sont très déformées.

Pour en savoir plus:
http://maps.unomaha.edu/Peterson/carta/Assign/ProjectionPage/ProjectionPage.htm

ozchan
12/02/2007, 02h18
Merci de ta réponse mais les cartes que je dois faire n'existent pas. Les zones en question sont des zones de sécurité en mer ou de partage de compétence, bref des zones qui existent sur des cartes à plat mais pas sur des cartes destinées à la 3d
l'autre solution ça serait de dessiner directement sur le sphère en 3d. C'est possible ça ???
J'avais pensé à poser des points sur la sphère et les relier par une spline mais comment savoir que le point que je pose est vraiment sur la sphère ???

luistappa
12/02/2007, 02h35
Oki, donc les cartes que tu possédes sont vraissemblablement en projection Lambert (conique) et tu dois retranscrire des informations de cette projection conique sur ta projection cylindrique. Je pense que les cartographes ont les outils pour cela (cher et pro) le plus simple pour toi serait de travailler comme on le fait quand un recopie un dessin avec la technique du quadrillage, sauf que là tu vas devoir passer d'un quadrillage conique à un quadrillages cylindrique mais en utilisant les longitudes et latitudes. Donc faire une map cylindrique dans Illustrator avec ta photo en fond et tracé des fontières en vectoriel.

ozchan
12/02/2007, 09h03
Oui ça doit marcher... ce qui m'agace c'est de ne pas pouvoir utiliser mon vieux fond de carte du début parce qu'évidemment j'ai la carte bump qui va bien avec, la carte spec, etc... En tatonnant on arrive à poser des points, les mapper sur la sphère et vérifier mais bon, des frontières ça doit être à peu près juste, surtout quand un pixel sur pts fait 200 km sur le terrain.
je vais me renseigner à l'IGN, j'ai travaillé pour eux il y a quelques années et j'ai gardé des contacts là-bas ...

Seb-bbl
12/02/2007, 11h12
Si tu veux les tracer à la main, je pense que Bodypaint est le plus approprié...

ozchan
12/02/2007, 11h17
Je m'en doutais : c'est l'un des modules que je n'ai pas....

luistappa
12/02/2007, 11h45
Pourquoi, tu ne pourrais pas utiliser ton fond de carte, la projection cylindrique est parfaitement utilisable. Bodypaint.... ben pour une projection cylindrique je ne vois pas l'intéret. Le problème est surtout un passage de coordonnées Lambert et coordonnées cylindriques, mais pas un problème de dessin... Ou alors j'ai rien compris?

Dquand à la précision elle est quand même toute relative, si c'est pour une animation, imaginons que tu sorte même en HD TV avec la terre pleine écran, L'image fait 720pixel de haut, à cette échelle, le diamètre de la terre étant de 12000 km ... 12000/720=17km , donc le simple trait de forntière d'un pixel fait 17km de large donc tout détails inférieur à17 km ne sera pas visible, est ce d'autant plus que pourque tes frontières soient visibles, il faudra sans douite faire des traits de deux pixels de large donc 34km. tu parles de 200km pour un pixel, cela fait une terre de 60 pixels de diamètre c'est peu non?

PP
12/02/2007, 11h59
Si je ne dis pas d'ânerie, ton jpeg de Terre est en coordonnées polaires ; dans PSD, tu peux donc le repasser en rectangulaires (filtre déformations /coordonnées polaires), faire tes bidouilles puis repasser en coordonnées polaires. Non ? A tester en tous cas.

ozchan
12/02/2007, 12h05
J'ai testé ça en premier mais le résultat n'est pas probant. Tu me donnes envie de rééssayer.
Sinon le message de Luis me donne une idée : insérer la Terre dans un cylindre : sur le cylindre je peux mapper toutes les cartes à plat que je veux. Bon ce n'est pas exactement ce que je voulais mais ça peut bien fonctionner : c'est de l'habillage pas du scientifique !

http://img468.imageshack.us/img468/9578/003ts1.jpg

luistappa
12/02/2007, 13h50
Didier, sans avoir vu tes cartes d'où tu toi reporter les frontières, c'est pas facile, tu pourrais en montrer une?
Tu as regardé si tes cartes étaient en coordonnées Lambert? On repère facilement à la courbure des latitudes...

Seb-bbl
12/02/2007, 14h48
Je parlais de BP car Didier a parlé de dessiner directement sur la sphère en 3D...Quel degré de précision recherches-tu ?

ozchan
13/02/2007, 09h18
Comme je l'ai dit pour la précision je ne suis pas tenu à une rigueur absolue, un pixel sur la carte doit bien faire 200 km sur le terrain... mais bon quand il s'agit de découper les zones de sécurité (dont certaines passent par le pôles) c'est vraiment pas possible sur le jpeg : trop déformé.
Avec pts j'ai essayé dans tous les sens les déformations polaire to rectangle, rectangle to polaire... rien à faire. Je dois recevoir aujourd'hui l'un des cartes à mapper. Je posterai un version light.
Sinon je vois quelqu'un de l'IGN jeudi mais a priori au téléphone ils ne connaissaient pas trop le type de projection qu'on utilise en 3D. ils connaissent le lambert, le mercator et plein d'autres noms techniques mais il ne voyait pas trop comment s'appelait le nôtre... wait and see...
merci en tout cas de m'aider sur un sujet pas franchement glamour !

luistappa
13/02/2007, 23h37
De mémoire la projection de Lambert est une projection conique qui conserve les surfaces et Mercator est une projection cylindrique modifiée pour conserver les distances. Sur une projection de Mercator les lignes de latitudes sont horizontales et les longitudes verticales, les angles sont donc conservés, sur Lambert les lignes de latitudes sont courbes et les longitudes ne coupent pas les latitude à angle droit. Nous en 3D, pour plaquer sur une sphère une bête photo de la NASA on utilise un projection cylindrique

Mais pour en revenir à ton problème, vu la faible précision envisagée, je pense que le plus facile c'est d'utiliser la méthode suivante:

1) entrer dans un tableur les coordonnées longitude et latitude des points carractéristiques des fontières que tu veux tracer.

2) dans ce tableur, faire une formule qui converti ces coordonnées polaires en coordonnées cartèsiènes (X,Y,Z)

3) exporter ces coordonnées X,Y,Z sous forme de tableau ASCII, c'est à dire une suite de ligne contenant chacune 3 nombres à la suite (X,Y,Z) chaque ligne représentant un point. Excell sait faire ce genre d'export.

4) Importer ce tableau ASCII dans C4D dans le gestiooonaire de structure.

5) Hélas C4D n'importe que les points sans les relier, donc tu devras créer tes splines à la main en magnétisant sur ces points importés

6) faire une extrusion nurbs d'un très petit cercle sur ces splines, pour avoir un réseau de frontière en 3D .

7) créer une sphère du même rayon que celui que tu as utilisé pour convertir les coordonnées polaires en cartésiennes

8 ) plaquer sur cette sphère en projection Cylindrique une belle photo de la terre que tu auras trouvée sur le site de la NASA.

9 ) That's all!

ozchan
13/02/2007, 23h45
Bon ben... ça fait envie...
ça vaut le coup d'essayer en tout cas... je ne suis pas sur d'voir les x y z des points des cartes, j'aurais latitude logitude sans souci et à partir de là je verrais si on peut en déduire le vecteur x, y z...
J'ai eu aussi l'idée d'utiliser le déformateur "plan vers sphère" qui est en standard dans c4d
bon j'ai plein de pistes maintenant aux essais !!!

luistappa
14/02/2007, 02h22
Il est tard mais si je ne me trompe pas c'est quelque chose comme ça:

Si R est le rayon de la terre

X=R*cos(lat)*cos(long)
Z=R*cos(lat)*sin(long)
Y=R*sin(lat)

Avec Y axe verticale et XZ le plan horizontal

ZOZO
14/02/2007, 04h06
autre piste si je puis me permettre... :roll:

si tu as sufisament de reperes tu peut appliquer les frontières zone par zone via des projection planaires avec un alpha (un matériau par zone)

bien numérotés et avec la cart de reférence ouverte dans la fenêtre de rendu ça doit pourvoir se faire...

ozchan
14/02/2007, 23h06
Je vais noter les formules de luis et en parler au géographe que je vois demain. Effectivement s'il y une formule toute faite qu'il suffit d'appliquer ça peut simplifier beaucoup les choses. Je vous donnerai les résultats.

Zozo : je crois que j'ai compris ton idée : grosso modo c'est prendre la zone un, en faire un calque dans pts, la mettre dans une texture et le positionner à tatons sur la sphère ? Pas mal comme idée.. Bon pour l'instant je dois travailler sur la mer en furie et je revindrais sur la problème des cartes ce week end

Cybjer
23/02/2007, 14h52
Tiens c'est rigolo, je travaille également sur un projet impliquant une planète Terre, enfin quelque chose de plus ludique et moins sérieux puisqu'il s'agit d'expliquer le phénomène des marées à des enfants de  4 / 8 ans ...

En fait j'ai effectivement utilisé le déformateur " enveloppe " nottament pour expliquer la fameuse projection de mercator, en passant du globe au planisphère, ça marche bien quoique un peu délicat à régler .. si jamais ça t'interresse d'avoir le couple sphere + deformateur avec animation ...

Bon je vois qu'on a affaire à des cadors de la modélisations, associé à des monstres de la trigo et de la cartographie alors je voudrais pas trop la ramener ;) MAiiiiis personnellement face à ce genre de probleme j'essayerais ça :

- dessiner les zones en tracés à partir de la carte originale sous toshop ou illustrator
- importer les tracés dans C4D
- placer les tracés  au sommet de la sphere qui représente la Terre, avec eventuellement le tracé du Groenland et de l'Islande pour mieux caller l'affaire
- utiliser un déformateur envellope, idéalement une copie de celui utilisé pour transformer le planisphère en sphère, en le basculant à 90 ° pour deformer les splines  ce déformateur fonctionne avec les splines aussi bien qu'avec les objets en maillage. ( le probleme c'est que par défaut l'axe de ce déformateur est " à l'extèrrieur "  quand il est dans son état " spérisé" .. ça ne facilite pas le callage )

Et sinon ça doit être possible d'utiliser la fonction "projetter spline" en vue de dessus avec la sphère comme support ?

Bon ton message date d'il y a 10 jours, je présume que tu as du trouver des solutions .. mais si tu as des nouvelles, ça m'intéresse ;)

ozchan
24/02/2007, 12h01
Bonjour Cyber
le projet est toujours d'actualité mais je suis parti en tournage... Sinon ton idée de déformateur m'intéresses, un petit MP ? je ne connais pas "projeter spline" je vais regarder ça !
En fait je tatonne... On m'a fourni une carte de délimitation compatible avec le type de projection que nous utilisons cad avec latitude et long à angles droits dont ça résoud le problème immédiat mais ça n'empêche pas de se poser la question.
L'IGN m'a donné les coordonnées d'un ingénieur de chez eux qui maitrise bien tout ça, il faut que le contacte pour voir. Mais leur approche est à la limite trop complexe pour nous. En première approche il semblerait que les formules de luis soient correctes (bravo luis !)

on travaille effectivement sur les mêmes sujets : il ya deux trois ans j'ai fait un film sur la marée pour brest 2004. Mais là il y avait pas mal de flèches, de courbes et de données techniques, donc je n'avais fait que l'intro en 3d et les reste sur After, comme un gros fainéant...

Cybjer
02/03/2007, 14h49
Bin tiens voilà ce que ça a pu donner le déformateur "globe terrestre-->mappemende"... ( à partir d'un extrait de l'animation que j'avais fait)
http://www.objectif-lune.fr/telechargements/C4D/exemples/developpementerre.jpg

C'est assez simpliste et, à partir d'une vue frontale. on ne voit pas forcement tres bien comment ça se passe. Le probleme que l'on peut rencontrer avec cette technnique c'est la jointure " au dos" de la Terre, ça ne se raccorde pas forcement très bien...

Sinon, à propos de la fonction "Projeter Spline" je viens de me rappeler que Ogier a poster dans la section "Modèles" un fichier dans lequel il a utilisé la fonction "projeter" pour plaquer une spline sur une carte en relief mais aussi il a utilisé cette spline pour créer une texture sur la carte ...
( http://www.frenchcinema4d.fr/hub.php?doc=modele&modele=1208) Ca me semble assez connexe avec ton problème .

Pour utiliser la fonction de projextion : Structure / Modifier la SPline / Projeter puis dans la fenêtre d'attribut il faut choisir le mode de projection et surtout ne pas oublier de cliquer sur "appliquer" ;) Dommage que la projection soit définitive et que ça ne fonctionne pas comme l'opérateur booléen de C4d de sorte que la spline projetée s'adapte si le support de la projection est modifié ...

Euh et qu'est ce que tu entend par " MP" ? message privé ? est ce qu'il s'agit d'une fonctionnalité du forum ou bien tu pensais simplement au bon vieux email ?

Ps : meuh c'est pas un truc de feignant After Effect :poucehaut:

ozchan
04/03/2007, 19h22
Je comprends bien ta manip mais ce n'était pas tout à fait le sujet de départ. En effet ta carte de départ est une carte faite pour la 3d. le problème de départ était de travailler avec une carte utilisant une projection type mercator.
merci pour le lien sur le tut d'ogier, je regarde ça en détail dès demain !
sinon le MP c'est la possibilité d'envoyer des messages perso via le forum ! une fonction bien pratique !

Cybjer
13/03/2007, 12h41
Ah ouais ouais, je me suis effectivement mélangé les pinceaux dnas les types de projection :oops:
La projection " Mercator " est donc celle qui étire les dimentions ( en hauteur ) lorsqu'on se rapproche des Poles... Alors que la projection que nous utilisons courament en 3d pour un plaquage de type "sphérique" a tendance à écraser les distances à l'pproche des pole .

Bref, je suis sans doute encore à coté de la plaque mais il doit y avoir moyen d'utiliser un objet "déformation libre" pour transformer une carte en une autre en déplaçant savament les différentes couches de points... C'est ce que j'avais fait en tout cas lorsque le client m'avait fait remarquer que la carte n'occupait pas tout l'écran ;) bien sur l'inconvénient c'est que cela étire la texture au risque de voir appara^tre des zones pixélisées ...

Bon, on te souhaite une bonne finalisation de ton projet en tout les cas :D

ozchan
13/03/2007, 13h14
merci !
le projet est en bonne voie. En définitive j'ai pu trouver une carte avec une projection orthogonale donc pas de transformations à faire. la projection Mercartor est celle utilisée par les marins, parce que les angles sur les cartes sont conservés par rapport aux angles réels ; important à l'époque du capitaine Haddock et de son sextant ! maintenant il y a le GPS, tonnerre de Brest !