Autor |
Nachricht |
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 02.02.2011 10:26
Titel [php] Werte vergleichen |
|
|
Hallo,
ich hab ein kleines logisches Problem und ich bin mir nicht ganz sicher, wie ich das am elegantesten lösen kann.
Angenommen folgendes Array:
Code: |
array(31) {
[0]=>
array(2) {
["x"]=>
int(308)
["y"]=>
int(250)
}
[1]=>
array(2) {
["x"]=>
int(454)
["y"]=>
int(494)
}
[2]=>
array(2) {
["x"]=>
int(161)
["y"]=>
int(448)
}
[3]=>
array(2) {
["x"]=>
int(46)
["y"]=>
int(434)
}
[4]=>
array(2) {
["x"]=>
int(60)
["y"]=>
int(434)
}
[5]=>
array(2) {
["x"]=>
int(97)
["y"]=>
int(403)
}
[6]=>
array(2) {
["x"]=>
int(55)
["y"]=>
int(395)
}
u.s.w.
|
Jetzt möchte ich das Array so abändern, dass alle Punkte vertikal (ja ihr habs erraten, x und y sind coordinaten ) und horizontal, negativ sowie positiv, miteinander verglichen werden und wenn der Fall eintrifft, dass diese zu nah aneinander sind (nähe = z, variabel), nochmals in ein array gebündelt werden.
Einigermaßen verständlich erklärt?
Weiss jemand da einen eleganten mathematischen ansatz oder muss ich da einfach irgendwie kamikaze technisch durchiterieren?
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 02.02.2011 10:40
Titel
|
|
|
Hm in diesem Miniding würde ich tatsächlich einfach mal iterieren. Klassischerweise funktioniert Computergrafik so, dass jeder Bestandteil einer Szene mit einem relevanten Subset an Eigenschaften (x, y pos bspw.) in einer Such-Optimierten Struktur, meist einem Graphen/Baum abgelegt wird. Das ganze heißt dann Szenengraph: http://en.wikipedia.org/wiki/Scene_graph
Aber da PHP eh 'ne Krücke ist... aber zum *mal einlesen* ist das ganz interessant, das Zeug lässt sich auch recht gemütlich nachbauen.
|
|
|
|
|
Anzeige
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 02.02.2011 10:43
Titel
|
|
|
okay, tatsächlich ist das ganze ein bisschen komplexer, das array oben benutze ich nur mal um meine sachen zu testen.
wie würde ihr die iteration machen? selbst da bin ich mir nicht ganz sicher.
dachte daran , wenn ein set gefunden wird, das ganze in ein array zu packen und dann noch einen min-max wert dem array zuzuweisen. nah, ich glaub ich fang einfach an, so kommt man immer auf die lösung, auch wenns nicht elegant ist.
// @bacon link: den les ich mir heute abend mal in ruhe durch
Zuletzt bearbeitet von choise am Mi 02.02.2011 10:44, insgesamt 1-mal bearbeitet
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 02.02.2011 10:46
Titel
|
|
|
Arrays sind da nicht gerade die ideale Datenstruktur, da PHP diese per Value kopiert und nicht per Referenz. Wenn schone Liste, dann ein array of Vector oder so.
Sortieralgorithmen gibt's wie Sand am Meer, einfach mal googlen. Mit der Sortierung kannst Du Referenzen auf die Vektoren in weiteren Datenstrukturen wie einem nach "Entfernung sortierten Baum" oder so speichern.
|
|
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 02.02.2011 11:05
Titel
|
|
|
so ganz hab ich noch nicht kapiert was du meinst....
normalerweise ist das kein simples array sondern eine ansammlung von objekten die ich erzeugt habe.
das mit den referenzen ist ne gute idee, dann mach ich mich mal auf die suche nach einem sortieralgorithmus.
aber was meinst du mit "array of Vector"?
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 02.02.2011 11:12
Titel
|
|
|
Code: | $var = array(
new Coord(1,3),
new Coord(5,7),
...,
new Coord(n,m)
);
|
|
|
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 02.02.2011 11:13
Titel
|
|
|
okay thx.
kann man bei dir in lehre gehen?
// gna, google will mir nicht helfen
Zuletzt bearbeitet von choise am Mi 02.02.2011 11:33, insgesamt 1-mal bearbeitet
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 02.02.2011 23:23
Titel
|
|
|
Naja danke, aber das ist jetzt kein Expertenwissen ... Frag mal einen der Studierten hier, ich bin ja nur Langzeitstudent
Zuletzt bearbeitet von bacon am Mi 02.02.2011 23:23, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Datenbankabfrage - Werte vergleichen und zählen
[PHP] Versionen vergleichen
[php] Arrayschlüssel vergleichen
[JS] ordnerinhalt mit input vergleichen
PHP Fehler beim Datum vergleichen
[PHP] Zwei Grafiken miteinander vergleichen
|
|