J'ai un point p et 2 segments de ligne dans un plan 2D. Le point p est un point de vue d'où la caméra regarde vers les segments de ligne. Je veux vérifier si le segment de ligne 1 est partiellement ou complètement caché derrière la ligne 2, en regardant à partir du point P.Segments de ligne d'un point
Répondre
Je pense que la question est de savoir si la deuxième ligne est "masquée" par la première ligne. Supposons que votre point de caméra soit C et que vos segments soient A1, A2 et B1, B2.
Je calculerais les produits croisés CA1xCB1 et CA2xCB2. Le signe vous donne si le point si le point B1 est sur la gauche ou la droite de la ligne CA1. Cela dépend de la façon dont vos triangles CA1A2 et CB1B2 sont orientés (ils doivent être orientés de la même façon, ils ont plusieurs façons de le faire).
Vous pouvez ensuite utiliser le signe pour savoir si vous êtes dans les cas suivants:
- CA1xCB1 est négatif ou CA2xCB2 est positif, partiellement visible
- le contraire, alors caché.
Vous pouvez également calculer CA1xCB2 et CA2xCB1 pour avoir des cas à grain fin.
Oui, il s'agit essentiellement de tester s'il existe un axe de séparation entre les deux points dans l1 et les deux dans l2. –
La réponse de slurdge est un bon début, mais c'est un peu plus compliqué que ça.
Si le segment de ligne 2 est plus proche de C que le segment de ligne 1, il peut toujours être visible, par ex.
A1-------A2
B1-B2
C
Ici B1 et B2 sont "dans" le secteur A1A2, mais ne sont pas cachés.
la plus difficile de travailler est si B1 est « entre » A1 et A2, mais plus proche de la caméra, tandis que B2 est « pas entre » A1 et A2, mais plus loin de la caméra:
B2
A1-----A2
B1
C
B1B2 pourrait couper le bord du segment de ligne, rendant ainsi une petite partie de B1B2 cachée (ou peut-être pas!). Je pense que vous devriez trouver l'intersection de A1A2 et B1B2 pour vérifier si cela se produit réellement.
- 1. intersection de segments de ligne et de ligne
- 2. Calcul Intersection point de 2 lat/segments de ligne lng sur la terre
- 3. google maps segments de ligne multiples
- 4. Info-bulles de point et de ligne dans matplotlib?
- 5. Détection de segments de ligne dans une image
- 6. Calculer la collision de points et de segments de cercle
- 7. Test d'intersection des segments de ligne/plages unidimensionnels: Nom de la solution?
- 8. diviser un fichier en segments?
- 9. Segments LineChart dans Flex
- 10. l'optimisation d'une fonction de distance 2 de paramètres sur les segments de ligne
- 11. segments de sortie de l'ordinateur en latex
- 12. Bash, liste arguments segments
- 13. Codeigniter: URI segments
- 14. La construction de surface à l'aide de deux segments de ligne
- 15. Comment calculer les points de fin de segments de ligne perpendiculaires?
- 16. comment faire un tracé de ligne (ggplot) avec différents segments de couleur conditionnel à la direction
- 17. Recherche d'un point sur une ligne
- 18. Comment faire rebondir un point d'une ligne?
- 19. WPF, convertir des objets Path.DataProperty en segments
- 20. Oracle Rollback Segments et ADO.NET
- 21. allocation variable dans les segments
- 22. Hardcore SQL (ite): fetch intersection de segments
- 23. Barre de progression multi-segments winforms?
- 24. Démontrer que les segments formés par deux segments internes à un cercle se croisant sont multipliés
- 25. SQL Server Géographie type de données le plus proche point sur la ligne
- 26. Expression Regex pour diviser une ligne en trois segments en Perl
- 27. Comprendre les segments Lob (SYS_LOB) dans Oracle?
- 28. Les segments SQL déterminent le groupe d'âge
- 29. NHapi: Ajouter plusieurs segments ORDER/ORC
- 30. .htaccess obtenir URL pour les segments uri
Comment sont définies vos lignes? Equation (ax + by + c = 0), ou co-ordonnée ((x1, y1) - (x2, y2))? – Artelius
Ses coordonnées. – Zinx