2

J'ai beaucoup de plans 3D. La chose que j'ai besoin de savoir est la façon de calculer l'angle d'aspect. J'espère que je peux calculer l'angle d'aspect en utilisant le vecteur normal projeté de chaque plan (mon équation de plan est ax + by-z + c = 0, donc le vecteur normal de ce plan est a, b, -1). Plan XY. Ensuite, à partir de l'axe Y, je peux calculer l'angle d'aspect. Mais, je ne sais pas comment obtenir le vecteur normal projeté après que j'ai projeté sur le plan XY. Alors, puis-je appliquer l'équation qui donne l'angle entre deux vecteurs pour calculer l'angle de mon vecteur désiré de l'axe y. D'autre part, j'ai trouvé que l'angle d'aspect est défini comme l'angle entre une ligne qui passe le long de la pente la plus raide du plan et la direction nord (ici, l'axe Y). Est-ce que cette définition suivra, avec ma façon de prendre des vecteurs normaux? Je veux dire, le vecteur normal projeté est-il toujours donné le long de la pente la plus raide de l'avion? Aussi, quelqu'un m'a dit, que ce problème devrait considérer comme un problème 2D. S'il vous plaît commentez-moi et envoyez-moi les formules pertinentes afin de calculer l'angle d'aspect. Je vous remercie.Comment calculer l'angle d'aspect

Répondre

2

Une recherche rapide sur google révèle la définition de l'angle d'aspect.

http://www.answers.com/topic/aspect-angle

Il est l'angle entre le nord géographique sur l'hémisphère nord et le sud géographique sur l'hémisphère sud. Donc, fondamentalement, c'est une mesure de combien une pente fait face au pôle le plus proche.

Si votre monde est planaire plutôt que sphérique, il va simplifier les choses, donc oui - Un problème 2D. Je vais faire cette hypothèse ayant les implications suivantes:

  • Dans un monde sphérique, le pôle nord est un point sur la sphère. Dans un monde planaire, le "pôle" est un plan à l'infini. Pensez à un avion quelque part au loin dans votre monde dénotant "nord". Seule la normale de ce plan est importante dans cette tâche. L'unité normale de ce plan est N (nz, ny, nz).
  • Up est un vecteur pointant vers le haut U (ux, uy, yz). C'est le vecteur normal de l'unité du plan de masse.

Le vecteur unitaire normal du plan V (a, b, c) peut maintenant être projeté sur un vecteur P sur le plan de masse, comme d'habitude: P = V - (V point U) U

maintenant, il est facile de mesurer l'angle d'aspect du plan - il est l'angle entre le "pôle" -Plane N et le plan normal P projetée donnée par acos (P point N).

Puisque le nord est l'axe Y positif pour vous nous avons N = (0, 1, 0). Et puis je suppose que vous avez jusqu'à U = (0, 0, 1), Z positif. Cela simplifiera encore plus les choses - Pour projeter sur le plan de masse, nous enlevons simplement la partie Z. L'angle d'aspect est alors l'angle entre (a, b) et (0,1).

aspectAngle = acos(b/sqrt(a*a + b*b)) 

Notez que les avions Parallell avec le plan de masse ne dispose pas d'un angle d'aspect bien défini car il n'y a pas de pente pour mesurer l'angle d'aspect de.

+1

bien. Avez-vous les normales pour les avions de toit? Pouvons-nous prendre un exemple? Aussi, avais-je raison de supposer que up est U = (0,0,1), c'est-à-dire que le haut est le long de l'axe Z positif? – vidstige

+0

J'espère, vous pouvez m'aider. Puis-je vous contacter via [email protected] – niro

+0

Ce n'est pas mon mail :-P Est-ce que ce qui précède était une réponse à votre question initiale? Quelque chose a besoin de clarification? – vidstige

0

Avec quelles surfaces travaillez-vous? TINS (réseaux irréguliers triangulaires) ou DEMs (modèles numériques d'élévation)?

Si vous utilisez des images raster pour créer vos surfaces, l'algorithme de calcul de l'aspect est essentiellement une fenêtre mobile qui vérifie un pixel central plus les 8 voisins. Comparez le repère central avec chaque voisin et vérifiez la différence d'élévation sur la distance (montée par rapport à la course). Vous pouvez paramétrer les contrôles de distance (les voisins nord, sud, est et ouest sont à distance = 1 et nord-ouest, sud-ouest, sud-est et nord-est sont à distance = sqrt (2)) pour le rendre plus rapide.

Vous pouvez poser cette question sur gis.stackexchange aussi. Beaucoup de gens pourront vous aider là-bas.

Edit: http://blog.geoprocessamento.net/2010/03/modelos-digitais-de-elevacao-e-hidrologia/

ce site, altought en portugais, vous aider à visualiser l'algorithme. Après avoir calculé la pente la plus élevée entre une cellule centrale et ses huit voisins, vous affectez 0, 2, 4, 8, 16, 32, 64 ou 128 selon l'emplacement de la cellule présentant la pente la plus élevée entre centre et voisin.

+0

@ George; J'ai des données de points x, y, z – niro

+0

g_niro: vous pouvez supposer si vos points sont espacés régulièrement que vous travaillez avec un DEM. –

+0

merci pour le commentaire. – niro