mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 03:33 Benutzername: Passwort: Auto-Login

Thema: [php] Werte vergleichen vom 02.02.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] Werte vergleichen
Autor Nachricht
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 02.02.2011 10:26
Titel

[php] Werte vergleichen

Antworten mit Zitat Zum Seitenanfang

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 *zwinker* ) 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? Mädchen!

Weiss jemand da einen eleganten mathematischen ansatz oder muss ich da einfach irgendwie kamikaze technisch durchiterieren?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 02.02.2011 10:40
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 02.02.2011 10:43
Titel

Antworten mit Zitat Zum Seitenanfang

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. * Keine Ahnung... *

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 02.02.2011 10:46
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 02.02.2011 11:05
Titel

Antworten mit Zitat Zum Seitenanfang

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"?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 02.02.2011 11:12
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
$var = array(
  new Coord(1,3),
  new Coord(5,7),
  ...,
  new Coord(n,m)
);
  View user's profile Private Nachricht senden
choise
Threadersteller

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 02.02.2011 11:13
Titel

Antworten mit Zitat Zum Seitenanfang

okay thx.


kann man bei dir in lehre gehen? * Ich bin ja schon still... *

// gna, google will mir nicht helfen


Zuletzt bearbeitet von choise am Mi 02.02.2011 11:33, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 02.02.2011 23:23
Titel

Antworten mit Zitat Zum Seitenanfang

Naja danke, aber das ist jetzt kein Expertenwissen ... Frag mal einen der Studierten hier, ich bin ja nur Langzeitstudent *zwinker*

Zuletzt bearbeitet von bacon am Mi 02.02.2011 23:23, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Datenbankabfrage - Werte vergleichen und zählen
[PHP] Versionen vergleichen
[php] Arrayschlüssel vergleichen
[JS] ordnerinhalt mit input vergleichen
[PHP] Zwei Grafiken miteinander vergleichen
PHP Fehler beim Datum vergleichen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.