3

Ich bin daran interessiert, effizient den Massenmittelpunkt einer großen Box auf dem Integer-Gitter zu verfolgen, aus dem orthonome Regionen wiederholt herausgeschnitten werden. Ich habe in der Computergestützten Geometrie-Literatur herumgestochert, und es gibt eine Vielzahl von Datenstrukturen, die relevant sein könnten, aber die meiste Diskussion dreht sich um Sichtbarkeitsberechnungen (für Computergrafik) oder Nearest Neighbour-Finding (für Data Mining und ähnliches).Beibehaltung des Massenschwerpunkts einer mehrdimensionalen Integer-Box mit entfernten "Orthants"

Das Papier http://www.graphicsinterface.org/pre1996/92-NaylorSolidGeometry.pdf, das heißt:

Naylor, Bruce F. Interactive Solid Geometry via Partitioning Trees, 
     Proc. Graphics Interface '92, 1992, pp 11-18. 

beschreibt ein System, das geometrische Objekte von "Binary Space Partitioning Bäume" repräsentiert, unterstützt Set-Operationen, und hat eine faszinierende Erwähnung (ohne Details), dass das Zentrum von Die Masse der Objekte wird nach den gesetzten Operationen neu berechnet. Vielleicht habe ich einen blinden Fleck, aber es ist mir nicht sofort klar, wie man das Zentrum der Masse während des Baumverschmelzungsalgorithmus effizient aktualisiert, und ich habe keine Diskussion von Massenmittelberechnungen in Papieren gefunden, die den Naylor zitieren. Irgendwelche Zeiger?

Antwort

1

Ein k-d-Baum ist im wahrsten Sinne des Wortes das, wonach Sie suchen, da Ihre Schnitte von Natur aus achsversetzt sind, aber an beliebigen Positionen. Der Umgang mit Verallgemeinerungen, wie zum Beispiel in der Veröffentlichung erwähnten binären Raumpartitionierungsschemen, klingt wie eine Schicht von Komplexität, die Sie nicht brauchen, und wird die Leistung reduzieren.

Mit einem k-d-Baum können Sie Schnittpunkte berechnen und entfernen, wobei große Bereiche verschwinden. Wenn Sie das Gewicht und den Massenschwerpunkt für jeden Knotenbereich eines k-d-Baumknotens innerhalb des Knotens selbst speichern, sollten Sie in der Lage sein, seinen Beitrag zum gesamten Massenmittelpunkt zu löschen, ohne die Kindknoten berücksichtigen zu müssen.

Dadurch erstellen Sie effektiv einen Baum von Volumina, die als Punktmassen dargestellt werden. Jeder Knoten kann nach Bedarf von seinen Kindern berechnet werden.

+0

Gute Beobachtung! Ich erkannte später, dass das Problem nicht genau das war, was ich lösen wollte, aber hoffentlich wird sich das für jemand anderen als nützlich erweisen. – DavidDLewis

+0

Cool, und danke. Wenn es Ihnen nichts ausmacht, wofür haben Sie das ursprünglich gebraucht? Ich war von dem Problem angezogen, weil es interessant war, nicht wegen seiner Verwendung ... Aber ich kann mir immer noch nicht vorstellen, in welches Problem dieses Teilproblem eingebettet sein würde. – Kaganar

+0

Ich arbeite an Methoden für die Berechnung " genau "(was in Statistiken eine besondere Bedeutung hat) Konfidenzintervalle für beliebige Statistiken, die auf 2x2-Kontingenztabellen definiert sind. Dies ist gleichbedeutend mit dem Wegschneiden von Masse von der Außenseite eines Objekts im vierdimensionalen Raum. Ich hatte gedacht, dass ich einen Algorithmus entwickeln könnte, der sicherstellt, dass 1/16 der verbleibenden Wahrscheinlichkeitsmasse bei jedem Schritt durch Beibehaltung des Massenschwerpunkts entfernt wird, aber dies stellte sich als ein Ablenkungsmanöver heraus. – DavidDLewis

Verwandte Themen