Je souhaite calculer un angle dans le sens des aiguilles d'une montre entre deux segments de ligne A et B. L'angle résultant doit donc être compris entre 0 et 360-1 degrés. J'ai vu toutes les autres réponses dans SO, mais ils m'ont donné des angles négatifs. Merci.Angle dans le sens des aiguilles d'une montre entre deux lignes
Répondre
Pour mettre tous les angles dans une plage 0-359 en C#, vous pouvez utiliser le "algorithme" suivant:
public int Normalise (int degrees) {
int retval = degrees % 360;
if (retval < 0)
retval += 360;
return retval;
}
C# suit les mêmes règles que C et C++ et i % 360
vous donnera une valeur entre -359
et 359
pour tout entier, alors la deuxième ligne doit s'assurer qu'il est compris entre 0 et 359 inclusivement.
Une version sournoise sur une ligne:
degrees = ((degrees % 360) + 360) % 360;
qui normaliser dans toutes les conditions. Je ne suis pas sûr que je m'inquiéterais trop à propos de l'utilisation de la doublure en ligne à moins que la performance soit critique, mais je l'expliquerai.
De degrees % 360
, vous obtiendrez un numéro entre -359
et 359
. L'ajout de 360
modifiera la plage entre 1
et 729
. Ensuite, le dernier % 360
le ramènera à la plage 0
à 359
.
vous avez sûrement pu adapter une solution avec des angles négatifs pour toujours 0-360 en ajustant:
flottant positif = (angle < 0)? (360 + angle): Angle
Je voudrais essayer:
if degrees is between [-360, 360]
degrees = (degrees + 360) % 360;
else degrees = (degrees % 360) + 360) % 360;
- 1. Rotation du réseau dans le sens des aiguilles d'une montre
- 2. Faire pivoter l'image dans le sens des aiguilles d'une montre ou dans le sens contraire des aiguilles d'une montre en utilisant javascript
- 3. image de rotation sens des aiguilles d'une montre/sens antihoraire au toucher
- 4. Rotation dans le sens des aiguilles d'une montre/anti-horaire pour un CABAnimation d'un UIImageView
- 5. Comment imprimer une matrice 4x4 dans le sens des aiguilles d'une montre à l'aide de C#
- 6. Comment faire pivoter un objet dans le sens des aiguilles d'une montre?
- 7. Angle entre deux vecteurs dans Matlab
- 8. TextView sur android ne montre que deux lignes de valeur de texte dans les deux sens
- 9. Angle au coin de deux lignes
- 10. Angle entre deux vecteurs 2d, diff entre deux méthodes?
- 11. Angle des lignes détectées dans EmguCV
- 12. Comment calculer l'azimut (angle au nord) entre deux coordonnées WGS84
- 13. Lignes entre deux entrées d'index?
- 14. Angle entre 2 coordonnées GPS
- 15. Insérer une ligne entre deux lignes
- 16. Supprimer toutes les lignes entre deux chaînes
- 17. lignes de connexion entre deux ellipses
- 18. envoyer des informations dans les deux sens avec AJAX
- 19. comment grep entre deux lignes en Perl
- 20. shell Bash perdre des variables d'environnement entre les deux lignes
- 21. Générer des lignes avec index entre deux nombres
- 22. CGLayer dans le mauvais sens
- 23. Comment répartir le code HTML entre deux lignes?
- 24. Oracle - différence ou changements entre deux lignes de deux tables
- 25. Ajouter de l'espace entre deux lignes
- 26. Comment calculer l'azimut (angle au nord) entre deux coordonnées WGS84 dans une seule requête T-SQL?
- 27. Insérer du texte entre deux lignes de repère dans bash
- 28. Angle des triangles Trig
- 29. Comment puis-je ombrer une région entre deux lignes dans le flot?
- 30. Actionscript angle d'une ligne Trig