1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Foxy79, 04.09.2011 #1
    Foxy79

    Foxy79 Threadstarter Neuer Benutzer

    Hallo,
    ich rechne mir mit folgendem Code eine konvexe Hülle auf meinem Android aus.
    Funktiert auch super. Jetzt muss ich aber die selben Berechnungen auch auf einem Webserver machen, die Daten werden per PHP&MYSQL aus einer Datenbank gelesen.
    Kann ich den Code irgendwie als JavaScript einbinden? Ich kenne mich mit JavaScript leider überhaupt nicht aus.
    Oder muss ich das in PHP übersetzten?

    Vielen Dank für die Hilfe.
    Code:
    public class GrahamScan
    {
        private Point[] p;
        private int n;
        private int h;
    
        public int computeHull(Point[] p)
        {
            this.p=p;
            n=p.length;
            if (n<3) return n;
            h=0;
            grahamScan();
            return h;
        }
    
        private void grahamScan()
        {
            exchange(0, indexOfLowestPoint());
            Point pl=new Point(p[0]);
            makeRelTo(pl);
            sort();
            makeRelTo(pl.reversed());
            int i=3, k=3;
            while (k<n)
            {
                exchange(i, k);
                while (!isConvex(i-1))
                    exchange(i-1, i--);
                k++;
                i++;
            }
            h=i;
        }
    
        private void exchange(int i, int j)
        {
            Point t=p[i];
            p[i]=p[j];
            p[j]=t;
        }
    
        private void makeRelTo(Point p0)
        {
            int i;
            Point p1=new Point(p0); // notwendig, weil p0 in p[] sein kann
            for (i=0; i<n; i++)
                p[i].makeRelTo(p1);
        }
    
        private int indexOfLowestPoint()
        {
            int i, min=0;
            for (i=1; i<n; i++)
                if (p[i].y<p[min].y || p[i].y==p[min].y && p[i].x<p[min].x)
                    min=i;
            return min;
        }
    
        private boolean isConvex(int i)
        {
            return p[i].isConvex(p[i-1], p[i+1]);
        }
    
        private void sort()
        {
            quicksort(1, n-1); // ohne Punkt 0
        }
    
        private void quicksort(int lo, int hi)
        {
            int i=lo, j=hi;
            Point q=p[(lo+hi)/2];
            while (i<=j)
            {
                while (p[i].isLess(q)) i++;
                while (q.isLess(p[j])) j--;
                if (i<=j) exchange(i++, j--);
            }
            if (lo<j) quicksort(lo, j);
            if (i<hi) quicksort(i, hi);
        }
    
    }   // end class GrahamScan
     
  2. swordi, 04.09.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    javascript ist clientseitig, das wird dir am server nicht helfen.

    du kannst aber am server auch java laufen lassen und dann kannst den code wohl 1:1 übernehmen.
     
  3. Foxy79, 04.09.2011 #3
    Foxy79

    Foxy79 Threadstarter Neuer Benutzer

    Vielleicht habe ich mich falsch ausgedrückt, clientseitig müsste eigendlich reichen, denke ich.
    Die Sachen müssen nur ausgerechnet werden, wenn ein User sich eine Karte anzeigen lässt.
    Würde es dann mit JavaScript gehen?
    Wenn ja, wie kann ich denn mit PHP an ein JavaScript ein Array übergeben?
     
  4. Thyrion, 04.09.2011 #4
    Thyrion

    Thyrion Ehrenmitglied

    Warum rechnest du es denn nicht einfach mit PHP (dann wirklich auf dem Server) aus?

    Und Javascript-Blöcke erzeugst du genauso wie HTML-Blöcke in PHP.
     
  5. Foxy79, 04.09.2011 #5
    Foxy79

    Foxy79 Threadstarter Neuer Benutzer

    Ich würde es am liebsten mit PHP ausrechnen, aber ich schaffe es nicht die classe in PHP zu übersetzen, so vertraut bin ich damit leider nicht.
    Das wäre mir auch die liebste Lösung.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[Offen] Android Layout funktioniert nicht Android App Entwicklung 08.09.2017
[ERLEDIGT] LL zur Laufzeit erstellen, Abstand zwischen LL und LL möglich ? Android App Entwicklung 06.09.2017
[OFFEN] App schließt nach Öffnen sofort Android App Entwicklung 04.09.2017
[ERLEDIGT] Um einen Zusatz in einem Programm unter Android zu machen Android App Entwicklung 22.08.2017
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[OFFEN] SVN Commit in Android Studio funktioniert nicht mehr Android App Entwicklung 07.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[ERLEDIGT] Daten/Code meiner App speichern? Android App Entwicklung 27.07.2017
Du betrachtest das Thema "Android Berechnung auf Webserver" im Forum "Android App Entwicklung",