2016-08-30 12 views
0

Ich habe eine Fabrik mit den drei Pflanzen A, B und C. Jede dieser Pflanze enthält Maschinen von 1 bis 9 in einer Reihe. Für jede Pflanze kenne ich den Standort 1 und 9. Keiner der Standorte zwischen ihnen. Jetzt kann der Benutzer durch die Fabrik laufen und einen Standort für jede Maschine speichern.Wie überprüft man, ob sich ein Ort in der Nähe einer Linie zwischen Punkten und Koordinaten auf dieser Linie befindet?

Frage: Wie kann ich erreichen, dass es eine Linie zwischen den beiden Kanten 1 und 9 gibt? Ich würde das gerne in Java Vectors machen. So könnte der Benutzer seinen aktuellen Standort übergeben und das Programm speichert den nächstgelegenen Standort dieser Linie. Ziel ist es, alle Standorte der Maschinen kennenzulernen.

enter image description here

Antwort

0

nicht wirklich die Frage klar bekommen. Aber denken Sie dies hilfreich sein könnte

erstellen Punktobjekt mit x cordinate ist für Pflanzen und y cordinates für Maschinen

Punkt location = new Point (1,1); // Bedeutet es in Anlage 1 auf Die Maschine 1

eine Methode erstellen zu bekommen, wo Benutzer und speichern sie

Leere setLocation (int Pflanze, int location) {

location = new Point(plant, location); 

}

Punkt getLocation() {

return location; 

}

0

Sie einen 2D-Array von Punkten machen könnte, mit den Pflanzen, die die Reihen und mehr Maschinen die Spalten sein, Punkt [Pflanzen] [Maschinen]. Und dann gehen Sie durch das Array und geben Sie jedem Punkt einen bestimmten Ort. Dann erstellen Sie eine Methode namens Suche. Bei dieser Suchmethode würden zwei Parameter übergeben, eine X- und eine Y-Koordinate (die Koordinaten Ihres Benutzers). Die Suchmethode würde dann durch das 2D-Array von Punkten iterieren und die Mathematik ausführen, um den nächsten Punkt zu finden, der den Passagen am nächsten kommt in Koordinaten. Sollte so einfach sein wie die Entfernungsformel. Dann können Sie einfach die Koordinaten des Benutzers so ändern, dass sie dem nächsten gefundenen Punkt entsprechen.

Verwandte Themen