Algorhitmus benötigt

Status
Nicht offen für weitere Antworten.

Max

Mitglied
Hallo zusammen,

Habe folgendes Problem:
Man stelle sich eine Ebene vor in der mehrere Punkte verteilt sind. Ich möchte eine Linie so um die Punkte (beziehungsweise durch die äusseren Punkte) ziehen, dass diese Linie alle inneren Punkte umfasst.

Die Punkte sind übrigens in einem Array gespeichert.
Gibt's da schon was aus der API?
Oder hat jemand Vorschläge zum Algorhitmus?
Komme nicht richtig weiter und freue mich entsprechend über Euren Rat

Danke und Grüsse
Max
 

Max

Mitglied
Ok, einen pasenden Algorhitmus habe ich im Netz gefunden.
Wen's interessiert:
http://n.ethz.ch/student/mackerma/info6/konvex.html

jetzt habe ich eine konkrete Frage

Code:
.......
//Wertetripel data
class data{x,y,z;};
.....
//array mit Wertetripeln
data[]values=new data[arraylaenge];
......

Wie kann ich das array so sortieren, dass das array ich mit dem kleinsten x-Wert (auch negativ) beginnt uns dem Grösssten aufhört?


Für Hilfe dazu wäre ich echt dankbar, ist für Euch doch ne Kleinigkeit schätze ich

Danke und Grüsse
Max
 
G

Guest

Gast
Cello hat gesagt.:
Moin,

ich nehme an, du möchtest die konvexe Hülle der Punkte bestimmen. Vielleicht hilft das:

http://ddi.cs.uni-potsdam.de/Lehre/UebersichtInfoSST/KonvexeHuelle.pdf

Gruß, Marcel
Moin Cello,
Ja ganz recht danke für den link, soweit war aber ich schon.
jetzt geht`s ganz banal darum erstmal mein unten zitiertes array zu sortieren
Code:
....... 
//Wertetripel data 
class data{x,y,z;}; 
..... 
//array mit Wertetripeln 
data[]values=new data[arraylaenge]; 
......
und zwar beginnend mit dem niedrigsten x-Wert data[index].x bis zum höchsten data[index].x.
Da gibt's doch bestimmt was Elementares, ich finds aber nicht so richtig.

Wer weiss was ich meine und kennt das Zauberwort in der API?

Thanks a lot
und Grüsse
Max
 
G

Guest

Gast
Beni hat gesagt.:
Hi Beni, (auch Spätschläfer wie? :### )
thanks, ja das sieht schon gut aus,

funktioniert das auch irgendwie mit einem array aus classes wie ich sie zuvor beschrieben habe?
So, dass ich nach einer komponente sortieren kann?
nochmal dass Beispiel:
Code:
....
//Wertetripel
class data
{
float x,y,z;
};
...
//array mit Wertetripeln
values=new data[arraylaenge];
Ist es nun möglich nach einer einzelnen Komponete, z.B. values[index].x zu sortieren?
Wenn ja wie?
Ein code-schnipsel als Beispel wäre echt cool

Thanks
Max
 
B

Beni

Gast
Die Klasse die man sortieren will:
Code:
public class Data{
  public int x, y, z;
}

Und der Comparator den man dazu schreiben kann:
Code:
public class DataComparator implements Comparator{
  public int compare( Object a, Object b ){
    Data dataA = (Data)a;
    Data dataB = (Data)b;

    if( dataA.x < dataB.x )
      return -1;
    else if( dataA.x == dataB.x )
      return 0;
    else
      return 1;
  }
}

Und dann so aufrufen:
Code:
Data[] array = ...
DataComparator dc = new DataComparator();

Arrays.sort( array, dc );

Oder das Interface Comparable implementieren (class Data implements Comparable).

mfg Beni
 
G

Guest

Gast
Beni hat gesagt.:
Die Klasse die man sortieren will:
Code:
public class Data{
  public int x, y, z;
}

Und der Comparator den man dazu schreiben kann:
Code:
public class DataComparator implements Comparator{
  public int compare( Object a, Object b ){
    Data dataA = (Data)a;
    Data dataB = (Data)b;

    if( dataA.x < dataB.x )
      return -1;
    else if( dataA.x == dataB.x )
      return 0;
    else
      return 1;
  }
}

Und dann so aufrufen:
Code:
Data[] array = ...
DataComparator dc = new DataComparator();

Arrays.sort( array, dc );

Oder das Interface Comparable implementieren (class Data implements Comparable).

mfg Beni
Hallo Beni,
Danke für die Hilfe, hat prima funktioniert.
Grüsse
Max
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Algorhitmus Entwicklung zu den Gefälleplatten Allgemeine Java-Themen 7
PARAS Karriereberatung benötigt: Wie kann ich ein Java Full Stack Entwickler werden? Allgemeine Java-Themen 7
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
stroggi Serielle Schnittstelle (jssc) - Flush benötigt? Allgemeine Java-Themen 2
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
A Methoden Generische Methode mit Arrays - Source Compatibility 1.7 benötigt, wieso? Allgemeine Java-Themen 3
M Befehl in Runtime ausführen der Eingabe benötigt Allgemeine Java-Themen 3
V Für was benötigt man Apache Common Allgemeine Java-Themen 3
T Interger in String konvertieren Erklärung benötigt Allgemeine Java-Themen 11
D Hilfe bei ZIP-import benötigt Allgemeine Java-Themen 13
D kleine SQL-Hilfe benötigt: not a single-group group function Allgemeine Java-Themen 4
S Welche jar's werden wirklich benötigt?` Allgemeine Java-Themen 5
S Warum benötigt jede Internetseite unbedingt das neuste Java? Allgemeine Java-Themen 11
S TreeSet benötigt zu viel Speicher Allgemeine Java-Themen 5
N Was benötigt man fürs Java Media Framework? Allgemeine Java-Themen 12
T Queue-Hilfe benötigt Allgemeine Java-Themen 4
K ServerSocket benötigt unmengen an Zeit Allgemeine Java-Themen 7
L Objekt in einem Frame wird im anderen benötigt Allgemeine Java-Themen 5
S Dringend Hilfe benötigt Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben