Projection de Shapes

Approche générale

La projection cartographique d’un shape s’effectue en itérant sur chacun des segments de celui-ci. On effectue ensuite une « estimation convenable » de son allure après re-projection. En fonction de la nature de l’objet réel, représenté par la forme géométrique fournie, plusieurs approches s’offrent à nous.

Si les segments de la forme géométrique relient les points de contrôle successifs des shapes et représentent la forme réelle à projeter, ou alors, sont juste des représentations arbitraires reliant un nuage de points.

Utilisation des dérivées

Dans le cas où les segments sont une liaison arbitraire d’un nuage de points, le calcul successif des dérivées, sur chacun des points aux extrémités du segment, peut être une solution. Une liaison arbitraire signifie que le segment n’a aucune correspondance dans le monde réel. De plus, cette solution nous offre d’autres informations propres aux dérivées, comme la conservation des directions ou trajectoires en chacun des points.

Projection d’un segment

Pour chacun des points aux extrémités du segment, on récupère le couple de vecteurs issu du calcul des dérivés. On en extrait un vecteur tangente, somme des 2 premiers.

Ce vecteur tangente nous donnera les informations nécessaires à la construction du segment projeté. Nous chercherons à trouver les coordonnées des points de contrôle nécessaires à la construction d’une courbe quadratique ou bicubique. A noter que la direction du couple vectoriel, qui est opposée au sens d’itération du « vecteur » segment, est inversée. A partir de ce couple de vecteurs, nous reconstruisons la courbe issue de la projection du segment.

U_V_-T

En s’appuyant sur un article de thèse de Thomas W. Sederberg : COMPUTER AIDED GEOMETRIC DESIGN nous pouvons observer 3 cas :

1 : Colinéarité
2 : Courbe en arc de cercle
3 : Cas générique
Colinear
Quadratic
Bicubic

Exemple applicatif

Shape avant la projection
Shape après la projection
France_Src
France_Dest

Approches alternatives

Discrétiser les segments

Dans le cas où les segments sont «pertinents», une autre approche serait potentiellement plus adaptée.
Un segment «pertinent» signifie qu’il possède une représentation physique dans le monde réel.
Par exemple, les frontières d’un état, définies sous forme de successions de segments rectilignes où chaque point sur ce segment a une représentation géographique valide.
De la même manière que pour les transformations d’images , nous pourrions discretiser chacun des segments jusqu’à ce que la différence entre l’interpolation bilineaire issue de 2 points voisins et l’intersection de ses dérivées soient inférieures à un certain seuil (Par exemple: la résolution d’affichage).

Shape discrétisé avant la projection
Shape après la projection
France_Discret_Src
France_Discret_Dest

Discrétisations de courbes

Généralement en informatique, les géométries sont des nuages de points reliés arbitrairement par des segments, afin d’avoir un rendu visuel plus facilement interprétable.
Considérant chacun des points du shape source comme étant les points de passage d’une courbe, nous pourrions relier arbitrairement chacun des points non pas par des segments mais par une courbe reliant chacun d’eux.
Par exemple la courbe Catmull Rom.
Ensuite, comme vu précédemment, nous pourrions discrétiser cette courbe et avoir un rendu plus « lissé » ou plus proche de la réalité (en fonction de la nature de la géométrie fournie).

Shape discrétisé avant la projection
Shape après la projection
France_Curve_Src
France_Curve_Dest

 

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *