Cela peut être une question stupide, mais rien ne vient immédiatement à l'esprit. Étant donné une liste R
des rectangles 2D (x
, y
, w
, h
) disposés de telle sorte que tout rectangle donné est soit complètement à l'intérieur ou totalement en dehors de tout autre, quel est le moyen le plus efficace pour déterminer le rectangle entourant immédiatement p
de chaque rectangle R
? Actuellement, je trier R
par y
puis x
, puis passer par chaque paire (a
, b
) et tester si a
est un enfant de b
. Non seulement cela n'est pas très efficace, mais cela ne fonctionne pas non plus correctement: j'ai pensé que puisque R
est déjà trié, le dernier parent trouvé devrait être celui qui l'entoure immédiatement, mais cela ne semble pas être le cas. Y at-il quelque chose qui ne va pas dans mon raisonnement? Sinon, je posterai du code.Créer un arbre à partir d'une liste de rectangles
2
A
Répondre
2
- Trier par
(x+y)
. - A partir du début de la liste triée, saisissez un rectangle Q.
- Calculez
(x+y+w+h)
pour ce rectangle. - Pour chaque rectangle R de la liste qui suit le rectangle Q, et a
x+y for R
< =(x+y+w+h) of Q
, vérifiez si R est dans les limites de Q. Si c'est le cas, définissez Q comme parent de R, en remplaçant tout parent précédemment défini. - Répétez l'opération pour la liste.
+0
Cela fonctionne! Merci beaucoup. Il se trouve que ma mise en œuvre n'était pas loin de la réalité. –
Questions connexes
- 1. Fonction pour créer un arbre de propriétés?
- 2. Comment créer un arbre binaire
- 3. créer arbre de tableau de la liste de tableau
- 4. Comment créer des rectangles dans WPF dynamiquement?
- 5. Créer un menu PyQt à partir d'une liste de chaînes
- 6. django créer une liste à partir d'une liste de querysets
- 7. Comment créer un arbre de compétences?
- 8. Comment construire efficacement un arbre à partir d'une structure plane?
- 9. Liste/arbre/pile - Algorithme
- 10. Propulsé NestedSet créer un arbre équilibré
- 11. Arbre d'adjacence à partir d'une table unique
- 12. Cartographie du Liste dans un arbre
- 13. algorithme pour faire un arbre noir rouge à partir d'un arbre de recherche binaire
- 14. Créer un calendrier à partir de javascript
- 15. Comment puis-je créer un 'arbre' multi-hiérarchique? (S'il peut s'appeler un arbre)
- 16. Suppression d'un objet à partir d'un arbre
- 17. Comment créer un arbre de cases à cocher rempli à partir de la base de données en utilisant Zend_Form?
- 18. Comment choisir un nœud aléatoire à partir d'un arbre
- 19. Comment créer une liste à partir de la plage
- 20. créer une source de données à partir d'une liste
- 21. Java: traversèrent Arbre à arbre
- 22. Suivi de rectangles avec opencv
- 23. Création d'un arbre de liste avec SQLite
- 24. Sélection d'un arbre à partir d'un csv en utilisant LinQ
- 25. Itérer à travers un arbre
- 26. Comment créer un arbre de recherche binaire dans Clojure?
- 27. comparaison de rectangles
- 28. essayant de construire un arbre de Web ui à partir de zéro
- 29. Inverser un ensemble de rectangles sur un plan 2D
- 30. Rectangles graphiques Java 2D
Quelle est votre véritable question? Je pense que je sais de quoi vous parlez, mais je ne peux pas déterminer ce que vous voulez que votre code fasse avec votre liste de rectangles. Est-ce que vous voulez que votre code pour comprendre la hiérarchie de vos rectangles. Si oui, comment allez-vous le représenter (dans les données)? –