Supposons que nous ayons une carte de hauteur représentant l'élévation du terrain sous la forme d'une image où chaque pixel indique la hauteur. Supposons qu'une autre couche sur cette même image soit utilisée pour indiquer le chemin d'une route à travers le terrain, donc un pixel brillant indique un point sur la route, un pixel foncé indique la route, et les pixels intermédiaires représentent les endroits qui sont le long du bord de la route. Cela semble être une façon naturelle de représenter une route dans cette situation, mais nous pourrions aussi la convertir en un contour polygonal de la route en utilisant Marching Squares.Nivellement d'une route dans une carte de hauteur de terrain
La question est: comment un algorithme peut-il ajuster la carte de hauteur pour maintenir la route horizontale d'un côté à l'autre. Il serait facile de rendre la route entièrement horizontale en faisant la moyenne des altitudes de chaque point de la route, mais ce n'est pas ainsi que les routes fonctionnent. Une route devrait être capable de monter et descendre des collines, mais ne pas obliquer vers la gauche ou la droite.
Il doit y avoir une solution géométrique pour trouver l'angle de la route et interpoler linéairement les hauteurs entre les pixels. Ou y at-il une solution plus délicate qui donne de bons résultats dans la pratique sans y travailler si fort?
Est-ce que "chaque point" signifie le centre de chaque pixel?La normale à travers le centre d'un pixel ne passerait-elle pas rarement par le centre de plus d'un pixel? Si nous comptons les pixels qui sont simplement touchés par la normale, alors beaucoup de pixels seraient touchés par de nombreuses normales, alors quelle normale utilisons-nous pour calculer la moyenne pour chaque pixel? – Geo
Peut-être essayer une sorte de moyenne pondérée si le pixel est touché par plusieurs normales ... –