mit Bsp 2
Results 1 to 79 of 79

Thread: mit Bsp 2

  1. #1
    tschurlo's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    1,207
    Thanks
    0
    Thanked 0 Times in 0 Posts

    mit Bsp 2

    Hi!

    Eigentlich dachte ich mir, den Code von C in Java uebertragen ist ganz easy. Aber da gibt es im einen Code Variablennamen, die es im anderen nicht gibt, manche Methoden uebernehmen drei Werte mehr, es gibt Pointer, die es ja in Java nicht gibt.

    Kann mir da jemand helfen? z.B. sagen, welche Variablennamen welchen entsprechen?

    Beim switch (im Buch ueber die Variable b), wie loest man hier das fuer die Faelle links, rechts,... auf?

    Wo kommen dann die Variablen projected und clipped vor?

    Da ich den Code nicht ganz durchschaue (den Algorithmus schon) wuerde ich ich ueber eure Hilfe freuen.

    Danke!
    M-Th's Homepage: http://www.tschurlo.at

  2. #2
    buschti's Avatar
    Title
    Baccalaureus
    Join Date
    May 2002
    Posts
    813
    Thanks
    0
    Thanked 1 Time in 1 Post
    es ist eh vorgegeben, welche parameter zu jeder methode übergeben werden. die anderen variablen werden nicht übergeben, weil sie sowieso global für das ganze Polygon gültig sind( z.B. xMin...).

    zu den variablennamen:

    pIn entspricht projected
    pOut entspricht clipped

    edge ist in unserer klasse ein integerwert, 0 bedeutet LEFT, 1 bedeutet RIGHT usw.


    ich hoffe, ich konnt dir helfen.

    ciao,
    sebastian

  3. #3
    tschurlo's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    1,207
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ja, danke. Das mit Left, right, ... habe ich mittlerweile auch schon alleine rausgefunden. Ich wusste nur nicht, dass man bei des cases des Switch auch wieder Variablen angeben darf, ich dachte, dass man nur Werte der switch-Variable nehmen darf.

    Dass mit pIn, pOut hat mir schon geholfen, obwohl ich mir da auch schon aehnliche Gedanken gemacht habe, da es ja unterschiedliche Typen sind (int, double).

    !!! Mich wuerde aber noch interessieren, in der letzten Methode, closeClip gibt es einen Teil wo {0, 0, 0, 0} steht. Was soll ich damit anfangen? Einfach weglassen?

    Ach ja, irgendwo steht noch
    if (!(blabla[edge]))
    Soll das heiszen
    if (blabla[edge] == null) ??

    Danke jedenfalls, lg,
    M-Th's Homepage: http://www.tschurlo.at

  4. #4
    Jokeman's Avatar
    Title
    Hero
    Join Date
    Feb 2002
    Location
    near Vienna
    Posts
    210
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von tschurlo

    [...]
    Ach ja, irgendwo steht noch
    if (!(blabla[edge]))
    Soll das heiszen
    if (blabla[edge] == null) ??
    [...]
    in C gibt es keine boolean variablen... hier werden integer werte als boolean aufgefasst... 0 ist false und (soweit ich mich erinnern kann) alle andren werte sind true

    was bedeutet:
    if (!blabla)
    entspricht
    if (blabla == false)
    b.z.w.
    if (blabla == 0)
    Command & Conquer
    =Return of the Dawn=

    TS to TD total conversion

  5. #5
    Gianna's Avatar
    Title
    Super Moderator
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    400
    Thanks
    5
    Thanked 12 Times in 10 Posts
    ich seh mich da auch nicht ganz aus. wieso sind im buch nur 1-
    dimensionale arrays aber in der cg-angabe 2-dimensionale?

    und was soll ich von wcPt2 * pOut halten? wird da pOut mit was multipliziert?

    kenn mich nimma aus *seufz*

    dankbar für jede hilfe! :-)
    Johanna Schmidt
    VIS1 Übungsleitung
    CG Vorlesung

  6. #6
    Jokeman's Avatar
    Title
    Hero
    Join Date
    Feb 2002
    Location
    near Vienna
    Posts
    210
    Thanks
    0
    Thanked 0 Times in 0 Posts
    bei dem beispiel im buch sprichst Du die x b.z.w. y koordinaten beispielsweise mit iPt.x und iPt.y an...
    der typ (oder die klasse) wcPt2 ist so deffiniert
    wenn ich jetzt wie bei der methode clipPolygon ein wcPt2 array hab (in dem mehrere ecken des polygons gespeichert sind), könnte ich die koordinaten mit pIn[i].x und pIn[i].y ansprechen.

    wir haben aber in unsrer angabe keinen eigenen typen für koordinaten deffiniert und verwenden einfach ein array...
    zum Beispiel:
    double[][] vTable
    in der ersten dimension is jetzt die nummer der ecke gespeichert und in der 2ten dimension, ob es sich um eine x oder y (oder z) koordinate handelt... mit vTable[2][Y] frage ich bespielsweise die y-koordinate der 3ten ecke des polygons ab


    das mit den sternen is wieder so a C gschichtl....
    das is in dem fall kein 'mal' sondern deffiniert eine pointervariable

    z.B.: wcPt2 * pOut
    bedeutet:
    die variable pOut ist eine pointervariable vom typ wcPt2

    bei java is das nicht notwendig
    Last edited by Jokeman; 23-10-2002 at 01:23.
    Command & Conquer
    =Return of the Dawn=

    TS to TD total conversion

  7. #7
    Gianna's Avatar
    Title
    Super Moderator
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    400
    Thanks
    5
    Thanked 12 Times in 10 Posts
    danke, das hilft ma schon amal weiter!
    Johanna Schmidt
    VIS1 Übungsleitung
    CG Vorlesung

  8. #8
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    3 fragen:
    -int Edge:
    wie ist das steht 1001 zb. für links oben,und 0010 für rechts mitte oder wie?

    -double point []
    heisst das,dass am ersten index die x-koordinate ist und am zweiten die y?

    -wcPt2 iPt (bei methode intersect im buch)
    ist das ein 2dim. array das den schnittpunkt mit der kante speichert?
    Last edited by Shade; 23-10-2002 at 18:34.
    ALL GLORY TO THE HYPNO TOAD...

  9. #9
    Deep Thought's Avatar
    Title
    Hero
    Join Date
    Sep 2002
    Posts
    208
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Arrow 3 Antworten

    1) int Edge: nein!
    0 steht für LEFT, 1 für RIGHT, 2 für BOTTOM und 3 für TOP genauso wie die Konstanten im vorprogrammierten Teil es angeben und gibt an mit welcher Kante gerade geclippt wird.
    Es gibt keine Kanten, die gleichzeitig links und oben verlaufen, was du meinst wurde bei Line clipping verwendet, wird aber für Polygon Clipping nicht gebraucht.

    2) double point [];
    heißt wie du richtig erkannt hast, dass x in feld 0 und y in feld 1 gespeichert werden.

    3) wcPt2 iPt;
    ja richtig, im Buch ist es eine Struktur mit den Komponenten x und y. In unserem Fall sollen wir ein 2 dim array analog zu Punkt 2 verwenden.
    Alles ist möglich, die Frage ist nur wer's programmiert!

  10. #10
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    aha danke,
    aber wo ist dieser vorprogrammierte teil wo top left usw angegeben werden?
    ALL GLORY TO THE HYPNO TOAD...

  11. #11
    Deep Thought's Avatar
    Title
    Hero
    Join Date
    Sep 2002
    Posts
    208
    Thanks
    0
    Thanked 0 Times in 0 Posts
    In der Datei CG1Polygon.java steht gleich am Anfang die Zeile:
    static final int LEFT=0, RIGHT=1, BOTTOM=2, TOP=3;
    und andere Konstantendefinitionen, aber das müsstest du doch schon gesehen haben?

    Das größte Problem, dem ich begegnet bin, war das richtige Abschreiben... ich habe 3 Fehler gemacht, deren Suche recht lange dauerte!
    Last edited by Deep Thought; 23-10-2002 at 21:44.
    Alles ist möglich, die Frage ist nur wer's programmiert!

  12. #12

    Title
    Hero
    Join Date
    Feb 2002
    Posts
    178
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hallo!

    Hätte da eine Frage: funkt bei euch das Programm jetzt schon?!
    Ich habe den Code von C in Java übertragen, aber irgendwo habe ich mich wahrscheinlich vertan.

    Hat vielleicht jemand Screenshots, wie das ganze dann aussieht?

    lg

  13. #13
    Deep Thought's Avatar
    Title
    Hero
    Join Date
    Sep 2002
    Posts
    208
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ja bei mir geht jetzt alles. Wie gesagt, das größte Problem war sich nicht zu vertippen, x statt y, * statt /, ...
    Die vier Polygone schauen dann so aus...
    Attached Images Attached Images  
    Alles ist möglich, die Frage ist nur wer's programmiert!

  14. #14

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts

    2.Bsp

    Also, ich hab den Code von C in Java "abgeschrieben", aber ich hatte da ein Problem, denn das Programm wurde zwar compeliert, aber es hat dann nur einen schwarzen Hintergrund angezeigt, erst als ich dann in der letzten Methode clip() Werte für xMin, xMax, yMin und yMax eingegeben habe, hats was angezeigt, aber das kann es doch nicht sein, oder? Was kann ich da falsch gemacht haben?

    Außerdem bin ich mir mit den Array nicht sicher, wo jetzt 1-dim und wo 2-dim gehören, z.B bei der Variablen iPt, da hab ich:


    double[] intersect(double[] p1, double[] p2, int edge)
    {
    // vielleicht [][]
    double[] iPt = new double[3]; //für X, Y, Z
    double m=0;
    .......


    stimmt das so, oder was muss ich da machen!
    welche Arrays sind bei euch 2-dim?


    Das waren jetzt viele Fragen auf einmal, ich weiß, wäre trotzdem voll nett, wenn ihr mir helfen könntet, danke.

  15. #15
    Jokeman's Avatar
    Title
    Hero
    Join Date
    Feb 2002
    Location
    near Vienna
    Posts
    210
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hab zur abwechslung auch mal ne frage...

    gibts irgend einen bestimmten grund dafür, dass clipped[] integer und net double is? das macht das ganze ja nur umständlicher, oder nicht?
    Command & Conquer
    =Return of the Dawn=

    TS to TD total conversion

  16. #16
    ghost dog's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    Posts
    498
    Thanks
    0
    Thanked 1 Time in 1 Post
    habe ebenfalls folgende fragen:

    methode intesect:
    wenn ich m als float definiere, bekomme ich errormeldung, da ja im ausdruck mit arrays gerechnet wird.
    wie kann man das umwandeln bzw gibt es eine andere möglichkeit???

    methode closeClip:
    statt der deklaration wcPT2 i;
    verwende ich double [] i;
    stimmt das so??

    bin über jede idee dankbar!
    thx
    Last edited by ghost dog; 24-10-2002 at 21:04.

  17. #17
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    methode intesect:
    wenn ich m als float definiere, bekomme ich errormeldung, da ja im ausdruck mit arrays gerechnet wird.
    wie kann man das umwandeln bzw gibt es eine andere möglichkeit???
    ich glaub das liegt eher daran das die einngangsvariablen p1 und p2 double sind.versuchs mal indem du m als double deklarierst...
    Last edited by Shade; 24-10-2002 at 23:21.
    ALL GLORY TO THE HYPNO TOAD...

  18. #18
    tschurlo's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    1,207
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ich habe double verwendet und das hat problemlos funktioniert.

    Lg,

    M-Th's Homepage: http://www.tschurlo.at

  19. #19
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    toll,nach langer arbeit krieg ich lauter NULL POINTER exceptions...
    ich glaub es liegt an "clip" da von hier aus die methode "clip point" aufgerufen wird,wo der fehler vorkommt...
    ich glaub auch das es an der übergabe der eingabewerte liegt...weiss aber nicht genau wo der fehelr ist...wär nett wenn mir jemand helfen könnt...
    Code:
          protected void clip(CG1NewCanvas canvas)
        {double [] in = new double [2];
    	in[0]=projected[0][X];
    	 in[1]=projected[1][Y];
    	      for (int i=0;i<anz;i++)
    	         {clipPoint(in,LEFT);
    	           closeClip();
    	        }
    ALL GLORY TO THE HYPNO TOAD...

  20. #20
    wolk's Avatar
    Title
    Baccalaureus
    Join Date
    Jun 2002
    Posts
    986
    Thanks
    0
    Thanked 0 Times in 0 Posts
    sollte diese clip methode nicht so aussehen ?

    for (int i = 0; i<anz; i++)
    clipPoint(projected[i],LEFT);
    closeClip();

    oder irre ich mich ?
    mfg

  21. #21
    Jokeman's Avatar
    Title
    Hero
    Join Date
    Feb 2002
    Location
    near Vienna
    Posts
    210
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @ wolk...

    Du irrst Dich nicht...
    bei shades version wird immer nur der erste eckpunkt behandelt... so kann das nicht funktionieren

    @ shade...

    machs so, wie es wolk geschrieben hat
    Command & Conquer
    =Return of the Dawn=

    TS to TD total conversion

  22. #22
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    danke aber dieser Null pointer fehler kommt weiterhin.java gibt mir diese zeile in der methode clipPoint an:
    Code:
    if (first[edge]==null)
                  {first [edge] [X] = point [0];
                    ...
    das versteh ich aber nicht.die X koordinate des eingangspunktes wird auf dem leeren array first gespeichert...woher kommt jetzt die null point excep. ?
    ALL GLORY TO THE HYPNO TOAD...

  23. #23

    Title
    Elite
    Join Date
    Feb 2002
    Posts
    482
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ja, aber first[][] ist ja ein zweidimensionales Array: first[edge] existiert zwar, aber ist nur ein null Zeiger. Du musst zuerst in first[edge] ein neues Array erzeugen, bevor du ihm Werte zuweisen kannst, also

    first[edge] = new double[2];

    bevor du first[edge][0|1] was zuweisen kannst!

    Alternativ kopierst du das bereits existente Array direkt nach first[edge], also

    first[edge] = point;

    Ist vielleicht eleganter...

  24. #24
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts
    wegen clip() methode:
    @wolk wo hast du die vorprogrammierte werte in clip() verloren?
    ICh mein clipped[i][X]......
    Bei mir enthelt clip() folgende Zeilen:

    for (int i=0; i<anz; i++)
    {
    clipped[i][X] = (int)projected[i][X];
    clipped[i][Y] = (int)projected[i][Y];

    clipPoint( projected[i], LEFT);
    closeClip();
    }

    Aber es ist falsch, aber wo stekt den Fehler?
    "Socialism is Bolshevism with a shave."
    -'Detroit Journal'

  25. #25

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Die closeClip() Methode muss doch außerhalb der for-Schleife stehen, oder nicht?


    Weiß irgendjemand, ob iPt nun ein 1- oder 2- dim Array ist?

    Ich hab nämlich:

    double[] intersect(double[] p1, double[] p2, int edge)
    {
    // vielleicht [][]
    double[] iPt = new double[3]; //für X, Y, Z
    double m=0;
    .......
    Analag dazu in der Methode clipPoint

    Danke

  26. #26
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts
    @Cha, stimmt closeClip() ist nach der schleife, hab dass uebersehen, danke

    iPt muss glaub ich ein 1Dim array sein, denn es nur ein punkt ist(intersection Point) und intersect() muss gibt 1Dim Arrays.

    Cih denke man muss sich nicht beschrenken auf irgend welche anzahl der werte fuer
    double[] iPt = new double[z.B 2]
    man kann ja ein null wer setzen:
    double iPt = null;
    speter werden die richtige werte sowieso gespeichert,
    oder ist dass nicht so?
    "Socialism is Bolshevism with a shave."
    -'Detroit Journal'

  27. #27

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts
    was kann da falsch bei meinem Algo sein, wenn mir nur ein schwarzes Fenster angezeigt wird, anstatt den Polygonen.

    Ich hab bis jetzt nur den Alg vom Buch in Java umgeschrieben, doch es müsste doch trotzdem was anzeigen, oder nicht?

    Habt ihr da eine Idee, was ich falsch gemacht haben könnte?

  28. #28

    Title
    Veteran
    Join Date
    Feb 2002
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ich hab dasselbe Problem. Außerdem bekomme ich bei einer Beispieldatei eine NullPointer-Exception. Stimmt die Methode unten soweit?

    protected void clipPoint(double[] point, int edge)
    {
    double[] i_point = new double[2];

    if (first[edge] == null)
    first[edge] = point;
    else
    {
    if (cross(point, s[edge], edge))
    {
    i_point = intersect(point, s[edge], edge);

    if (edge < TOP) clipPoint(i_point, edge + 1);
    else
    {
    clipped[cnt][X] = (int)i_point[X];
    clipped[cnt][Y] = (int)i_point[Y];

    cnt++;
    }
    }
    }

    s[edge] = point;
    if (inside(point, edge))
    {
    if (edge < TOP) clipPoint(point, edge + 1);
    else
    {
    clipped[cnt][X] = (int)point[X];
    clipped[cnt][Y] = (int)point[Y];
    cnt++;
    }
    }
    }

  29. #29

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hab ich auch so!

    Ich hab auch keine Ahnung wo unser Fehler liegen könnte, dass nix angezeigt wird.

    Bei der Methode clip hab ich:
    cnt=0;

    for int(i=0;i<anz;i++) {
    clipPoint(projected[i], LEFT);
    }
    closeClip();

    da gehört doch sicher kein return (cnt) (wie im Buch am Schluss, oder? Ist ja eine void Methode).

    Was ist mit der einen Zeile: wcPt3*first[N_EDge} = {0,0,0,0}, s[N_Edge] ... brauch ich die?

  30. #30
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    habs gleiche problem...
    vielleicht liegts am cnt?das soll ja beibehalten werden.aber wenn mans am anfang der methode auf 0setzt wirds ja immer 0 sein...
    Last edited by Shade; 25-10-2002 at 18:21.
    ALL GLORY TO THE HYPNO TOAD...

  31. #31
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts
    Meine clipPoint() methode ist identisch, und da ligt der fehler nicht,
    mir ist clip() verdechtig:

    >Was ist mit der einen Zeile: wcPt3*first[N_EDge} = {0,0,0,0}, s
    [N_Edge] ... brauch ich die?

    glaube nicht, weil die zeile ist in unserem Fall globall definiert in der classe, auch fuer cnt
    also die Zeile kann man vergessen
    "Socialism is Bolshevism with a shave."
    -'Detroit Journal'

  32. #32
    ghost dog's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    Posts
    498
    Thanks
    0
    Thanked 1 Time in 1 Post
    newbi frage:
    muss ich eigentlich das array iPt sowohl in der methode intersect sowie in der methode clipPoint deklarieren und initialisieren???

    und noch was:
    bekomme folgende errors abwechselnd aus der methode intersect:

    variable m might not been initialized
    variable iPt might not been initialized

    habe die variable wie folgt deklariert:
    double m;
    double [] iPt;

    vielen dank für eure tipps und ideen!!
    ghost dog
    Last edited by ghost dog; 25-10-2002 at 19:34.

  33. #33
    Gianna's Avatar
    Title
    Super Moderator
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    400
    Thanks
    5
    Thanked 12 Times in 10 Posts
    @ ghost dog:
    du mußt gleich am anfang hinschreiben
    double m = 0;
    double[] iPt = double[2]; dann funktionierts

    aber das problem, das mir nichts am bildschirm angezeit wird, hab ich auch. vielleicht gibts da einen java-guru der sich für uns erbarmt und uns das erklärt???
    Johanna Schmidt
    VIS1 Übungsleitung
    CG Vorlesung

  34. #34
    Filz's Avatar
    Title
    Baccalaureus
    Join Date
    Jan 2002
    Posts
    706
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hast du irgendwo
    xMin=0;
    yMin=0;
    xMax=512;
    yMax=512;

    definiert? Sonst clippt er dir das Polygon im Fenster (0,0)-(0,0) und ist somit "unsichtbar"

  35. #35
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts
    dass habe ich in clip() definiert
    aber die linien sind falsch gezeichnet
    wieso dass?
    kann da jemand bitte helfen?
    "Socialism is Bolshevism with a shave."
    -'Detroit Journal'

  36. #36
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts
    vielleich ist da was mit dem lineDraw algo loss?
    "Socialism is Bolshevism with a shave."
    -'Detroit Journal'

  37. #37
    ghost dog's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    Posts
    498
    Thanks
    0
    Thanked 1 Time in 1 Post
    @kuschlmaus:
    danke. das war mein fehler...
    bin jetzt auch im club der "dunklen fenster" :-)

  38. #38

    Title
    Hero
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    185
    Thanks
    0
    Thanked 0 Times in 0 Posts
    bei mir wird das polygon gezeichnet zwar, aber nicht geclippt.
    hab den algorithmus genau so wie im buch implementiert, es werden auch alle funktionen aufgerufen. hat irgendwer eine ahnung woran das liegen könnte?

  39. #39

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @ Filz

    WEnn ich die Werte
    xMin=0;
    yMin=0;
    xMax=500;
    yMax=500;
    eingebe, dann schaut das alles ja nach was aus, wenn ich aber 512 eingebe, dann sind da auf einmal blaue und orange Linien zu sehen. Von woher hast du das mit 0,0,512,512??? Steht das in der Aufgabenstellung??

  40. #40
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ist bei mir auch so.allerdings bekomm ich selbst mit max 500 nur beim vielleck was brauchbares...
    ALL GLORY TO THE HYPNO TOAD...

  41. #41
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts
    Die werte:
    xMin=0;
    yMin=0;
    xMax=500;
    yMax=500;
    sind in CG1NewCanvas classe definiert
    "Socialism is Bolshevism with a shave."
    -'Detroit Journal'

  42. #42
    Filz's Avatar
    Title
    Baccalaureus
    Join Date
    Jan 2002
    Posts
    706
    Thanks
    0
    Thanked 0 Times in 0 Posts
    x/y-Min/Max sind einfach die Grenzen vom schwarzen Zeichenfenster, alles außerhalb davon soll geclippt werden.

    Nachdem sie sich für das Beispiel extra die Mühe gemacht haben, in CG1NewCanvas.java eigene Methoden für die Ausgabe der Ausmaße zu machen, denk ich, sollt man diese schon verwenden...

    PHP Code:
    public void draw(CG1NewCanvas canvas)
        {
            
    xMin=0;
            
    xMax=canvas.getWidth();
            
    yMin=0;
            
    yMax=canvas.getHeight();
          .
          .
          . 

  43. #43

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @Filz

    Bei mir funkt das nicht, weil mein Fenster (wo ich die Polygone loade) nur 511x511 ist und darum werden da so komische Linien gezeichnet, wenn ich für xMax und yMax 512 eingeben --- bei 511 geht alles noch problemlos.

    WEiß vielleicht irgendjemand, wie man dieses Fenster auf eine andere Größe umstellt, im JBUILDER7 (!!!)

  44. #44
    Jokeman's Avatar
    Title
    Hero
    Join Date
    Feb 2002
    Location
    near Vienna
    Posts
    210
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von nexus_at
    wegen clip() methode:
    @wolk wo hast du die vorprogrammierte werte in clip() verloren?
    ICh mein clipped[i][X]......
    Bei mir enthelt clip() folgende Zeilen:

    for (int i=0; i<anz; i++)
    {
    clipped[i][X] = (int)projected[i][X];
    clipped[i][Y] = (int)projected[i][Y];

    clipPoint( projected[i], LEFT);
    closeClip();
    }

    Aber es ist falsch, aber wo stekt den Fehler?
    wozu hast Du:
    clipped[i][X] = (int)projected[i][X];
    clipped[i][Y] = (int)projected[i][Y];
    drinnen gelassen? das brauchst ja nimmer... damit wurden ja die werte nur durchgereicht (steht eh in der angabe)... in clipped schreibst Du ja sowieso Deine neuen werte in der methode clipPoint
    Command & Conquer
    =Return of the Dawn=

    TS to TD total conversion

  45. #45
    Filz's Avatar
    Title
    Baccalaureus
    Join Date
    Jan 2002
    Posts
    706
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Weiß vielleicht irgendjemand, wie man dieses Fenster auf eine andere Größe umstellt, im JBUILDER7 (!!!)
    Wenn das Fenster umstellen willst (warum auch immer )
    Das Fenster muss allerdings quadratisch bleiben, aus irgendeinem Grund (zumindest bei mir).

    CG1NewCanvas.java, ab Zeile 18

    PHP Code:
        public CG1NewCanvas()
        {
        
    width 512;
        
    height 512
    und in CG1mainFrame.java, Zeile 127

    PHP Code:
    myCanvas.setSize(new Dimension(512512)); 

  46. #46

    Title
    Hero
    Join Date
    Feb 2002
    Posts
    178
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hallo!

    Ich hätte da eine Frage:
    und zwar heißt es bei der Aufgabestellung, dass vor dem Auruf CloseClip in der Methode clipPolygon() eine Abfrage fehlt?
    Was ist da gemeint?

    lg

  47. #47

    Title
    Principal
    Join Date
    Feb 2002
    Location
    Reintal
    Posts
    56
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Die Screenshots die gepostet wurden, sind das die Originalen oder schon die geclippten?
    Bei mir wird der Stern nämlich schon geclippt - ist also nicht ganz zu sehen (hab nur den Code vom Buch!)

    Hat irgendjemand schon eine Ahnung wie man das mit den komplett außerhalb liegenden Polygonen löst?

  48. #48
    nexus's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    272
    Thanks
    7
    Thanked 0 Times in 0 Posts

    Angry

    &nbsp; warum bekomme ich dass?

    Hilfee

  49. #49
    Filz's Avatar
    Title
    Baccalaureus
    Join Date
    Jan 2002
    Posts
    706
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von asterix

    Es heißt bei der Aufgabestellung, dass vor dem Auruf CloseClip in der Methode clipPolygon() eine Abfrage fehlt?
    Was ist da gemeint?
    Wenn das Polygon komplett aus dem Bereich liegt, zB. ein Dreieck ganz weit links (-> ausserhalb3.atoff), gibt es keinen letzten Punkt, den man dann mit dem ersten Punkt verbinden könnte. Und es entsteht eine nette NullPointerOutOfBoundsArrayWasWeissIchException.

    ----------------------------------------------
    RICHTIGE LÖSUNG SIEHE hier
    ----------------------------------------------

    FALSCH:

    PHP Code:
    if (cnt>0closeClip(); 
    Attached Files Attached Files
    Last edited by Filz; 28-10-2002 at 01:06.

  50. #50
    Filz's Avatar
    Title
    Baccalaureus
    Join Date
    Jan 2002
    Posts
    706
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von nexus_at
    warum bekomme ich dass?
    Ist nicht so schwer der Fehler: Schreib einfach nach dem Aufruf von closeClip
    PHP Code:
    anz=cnt
    Du hast die Variablen anz, cnt und die Punkte-Listen: projected und clipped.

    Vor dem Clippen hast du in der Liste projected anz Stück Punkte gespeichert. Nach dem Clippen sind in der Liste clipped cnt Punkte (also meistens mehr als anz)

    Beim Zeichnen fragt das Programm aber nur anz Punkte aus der Liste clipped ab und zeichnet diese.

  51. #51
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts

    danke,hat das gleiche problem,aber jetzt läufts...
    *freu* *freu*
    ALL GLORY TO THE HYPNO TOAD...

  52. #52
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    PHP Code:
    protected void closeClip()
        {
            
    anz=cnt
    so soll das aussehen? hm, da seh ich noch weniger als vorher....

    die rechte ecke des sterns ist z.b. geclippt dann haut die graphik nach oben links ab und bleibt in der ecke picken.... ich mach screenshots wenns irgendwen interessiert....

    mfg, Phil.

    //BEGIN CG-Code

    human MarvinTheRobot;
    int kruegl;

    if (CG == )
    {
    for(kruegl=0; kruegl<5_Promille; kruegl++)
    {
    MarvinTheRobot.kruegl.insert[kruegl];
    }

    }

    //END CG-Code
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  53. #53
    ghost dog's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    Posts
    498
    Thanks
    0
    Thanked 1 Time in 1 Post
    hat schon jemand eine lösung für die nullpointerexeptions gefunden....

  54. #54
    Megabit's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    VIE / AUT
    Posts
    493
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @ghost dog: ganz einfach

    bei clipPoint einfach eine kleine Anfrage einbauen (um die Nullpointer Exeptions abzufangen) :
    Code:
    .....
       else 
         {
           if (s[edge]!=null) 
           { if (cross (point, s[edge], edge)) 
             {.....
               }
            }
    statt :

    Code:
    .....
       else 
         {
           if (cross (point, s[edge], edge)) 
             {.....
               }
    "Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: 'Das ist technisch unmöglich!'" Peter Ustinov


  55. #55
    ghost dog's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    Posts
    498
    Thanks
    0
    Thanked 1 Time in 1 Post
    @megabit:
    hmmm. geht noch immer nicht. werd mir jetzt den zweiten "white russian" mixen. vielleicht hilft der gegen eine exeption.......

  56. #56
    Gianna's Avatar
    Title
    Super Moderator
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    400
    Thanks
    5
    Thanked 12 Times in 10 Posts
    @ ghost dog
    wenn der white russian nix gholfen hat, hab ich noch an andern vorschlag:
    ich hab dort, wie die arrays first und s definiert sind, noch zusätzliche zahlen hingeschrieben:
    first = new double[4][4];
    s = new double[4][4]

    ich weiß nicht ob das erlaubt is, aber dann is gangen
    Johanna Schmidt
    VIS1 Übungsleitung
    CG Vorlesung

  57. #57
    Megabit's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    VIE / AUT
    Posts
    493
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @ghost dog : kopier die erste und zweite zeile der fehlermeldung, normalerweise steht dort dann eine Zeilenangabe, poste die fehlermeldung und die Zeile auf die verwiesen wird hier, dann können wir dir vielleicht helfen und du brauchst nicht so viele "white russians"
    Last edited by Megabit; 26-10-2002 at 22:16.
    "Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: 'Das ist technisch unmöglich!'" Peter Ustinov


  58. #58
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    Bwzüglich NullPointerExceptions.... reicht das nicht?

    if (cnt>0) closeClip();
    Also ich hab das in meine "public void clip()" eingebaut und bekomm keine Exceptions mehr... funkt bei euch net? oder hab ich noch nicht alles ausprobiert?

    btw: des proggi zeigt noch immer nur schund an... *grml*

    mfg, Phil.
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  59. #59

    Title
    Elite
    Join Date
    Feb 2002
    Posts
    482
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Am Ende muss man auch noch anz (Anzahl der Vertices) auf "cnt" setzen, also anz = cnt, damit der draw Algorithmus dann auch alle Punkte zeichnet, weil es ja unter Umständen mehr gerworden sind, als es vorher waren....

    Schauts mal in diesen Thread, da geht es darum, was passieren soll, wenn das Polygon das Fenster einschließt, und wir ham noch keine Lösung dafür! Was denkts ihr dazu? (bitte in den anderen Thread replien!)

    http://www.informatik-forum.at/infor...&threadid=3540

  60. #60
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    Am Ende muss man auch noch anz (Anzahl der Vertices) auf "cnt" setzen, also anz = cnt,
    Sorry heut ko**t es mich schon richtig an..... welches ende (wovon?) meinst du gck?

    mfg, Phil.
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  61. #61
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    am ende der methode "clip"
    ALL GLORY TO THE HYPNO TOAD...

  62. #62

    Title
    Principal
    Join Date
    May 2002
    Posts
    32
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Also, hab ebenfalls ein schwarzes Fenster & im DOS-Fenster steht noch dazu : ArrayIndexOutOfBoundsException at...(überall und) in CG1Polygon in der draw-routine, in der Zeile. wo steht :

    drawClipped(canvas);

    keine Ahnung, was das soll, hab ich vielleicht nen Flüchtigkeitsfehler gemacht?
    Weiss jemand, woran das liegt?

    Genauer sieht die Fehlermeldung so aus:
    java.lang.ArrayIndexOutOfBoundsException
    at CG1NewCanvas.setPixel(CG1NewCanvas.java:57)
    at CG1Line.draw(CG1Line.java:68)
    at CG1WireFramePolygon.drawClipped(CG1WireFramePolygo n.java:25)
    at CG1Polygon.draw(CG1Polygon.java:58)
    at CG1Object.draw(CG1Object.java:266)
    at CG1mainFrame.loadButtonActionPerformed(CG1mainFram e.java:522)
    at CG1mainFrame$6.actionPerformed(CG1mainFrame.java:4 29)
    at java.awt.Button.processActionEvent(Button.java:381 )
    at java.awt.Button.processEvent(Button.java:350)
    at java.awt.Component.dispatchEventImpl
    Last edited by MacLoud; 27-10-2002 at 21:09.

  63. #63
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    haste du am ende der clip methode anz=cnt;gesetzt?
    ALL GLORY TO THE HYPNO TOAD...

  64. #64

    Title
    Principal
    Join Date
    May 2002
    Posts
    32
    Thanks
    0
    Thanked 0 Times in 0 Posts
    juppel.

    die sieht so aus:
    protected void clip(CG1NewCanvas canvas)
    {
    for (int i=0; i<anz; i++){
    clipPoint(projected[i],LEFT);
    }
    closeClip();
    anz=cnt;
    }

    Was ist mit der drawClipped-methode? die muss ich nicht ändern, oder?
    Last edited by MacLoud; 27-10-2002 at 20:50.

  65. #65
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    nicht das ich wüßte.aber die scheinst xMax,yMax nicht gestzt zu haben...
    ALL GLORY TO THE HYPNO TOAD...

  66. #66
    Usher's Avatar
    Title
    Baccalaureus
    Join Date
    May 2002
    Posts
    517
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @Jokeman...ich habe vor ein paar Seiten Dein Posting gesehen.

    Dein Fehler ist, dass Du closeClip() in der for-Schleife aufrufst. Es gehört ausserhalb. Wahrscheinlich hast Du ihn schon längst bemerkt...aber nur für alle Fälle wollte ich das loswerden ;o)

  67. #67

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    14
    Thanks
    0
    Thanked 0 Times in 0 Posts
    BUHUUUU!!!!!

    Ich hab alles probiert... wirklich alles, aber der bildschirm bleibt weiterhin schwarz und ich bin über das stadium der verzweiflung schon längst hinaus.
    Er gibt mir ständig NullPointerException aus und zwar in zeile 111

    Deswegen poste ich hier jetzt meinen java-code den ich in clippoint geschrieben habe:

    protected void clipPoint(double[] point, int edge)
    {
    double[] ipt = new double [2];

    if (first[edge] == null) {
    first[edge][x] = point[x]; //(zeile111)
    first[edge][y] = point[y];
    }
    else {
    if (cross (point, s[edge], edge)) {
    ipt = intersect(point, s[edge], edge);
    if (edge < 3)
    clipPoint(ipt, edge+1);
    else {
    clipped[cnt][x] = (int) ipt[x];
    clipped[cnt][y] = (int) ipt[y];
    cnt++;
    }
    }

    }
    s[edge] = point;
    if (inside (point, edge))
    if (edge < 3)
    clipPoint(point, edge+1);
    else {
    clipped[cnt][x] = (int) point[x];
    clipped[cnt][y] = (int) point[y];
    cnt++;
    }
    }



    Bitte bitte helft mir ich weiß einfach nicht mehr was ich machen soll! Wenn er wenigstens linien zeichnen würde... dann wäre ich ja schon glücklich. Aber es geht garnix... absolut garnix!

    Und um die frage gleich vorwegzunehmen... ja ich hab die grenzen von xMin... usw gesetzt:

    double xMin = 0.0, xMax = 511.0, yMin = 0.0, yMax = 511.0;

    So ich geh jetzt in eine ecke weinen und warte eine antwort ab.

  68. #68

    Title
    Veteran
    Join Date
    Oct 2002
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ähm - also müßten die x und y nicht in Großbuchstaben sein, also edge[X] usw... ???

  69. #69
    Filz's Avatar
    Title
    Baccalaureus
    Join Date
    Jan 2002
    Posts
    706
    Thanks
    0
    Thanked 0 Times in 0 Posts
    probiers mal in public CG1Polygon(...) mit

    first = new double[4][];
    s = new double[4][3];

    gleich nach den anderen Variablendefinitionen....

  70. #70
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    Try this ->

    if (first[edge] == null)
    {
    first[edge] = point; //(zeile111)
    }

    so funzt es bei mir zumindest nach hilfe von 2 leutz.... ;-) den rest hab ich auch so.

    mfg, Phil.
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  71. #71

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    14
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Danke für den tipp aber das hilft leider auch nicht.

    Was die variablen betrifft... die hab ich auf x und y umgeändert. Das ständige großschreiben ging mir auf den nerv.

    Ich hab die arrays so definiert wie du mir gesagt hast aber es macht keinen unterschied.

    Es würde mir aber schon helfen wenn mir jemand sagt das er ClipPoint genauso geschrieben hat und es bei ihm funktioniert.
    Langsam aber sicher wirds knapp... ich muß auch noch den sonderfall behandeln (hab ich auch schon eine fixe idee wie ich das mache), aber das hat ja sowieso keinen sinn wenn schon der vom buch implementierte code nicht funktioniert.

    Also wenn jemand noch vorschläge hat was es sonst noch sein könnte... ich weiß echt nicht mehr weiter.

    Hat jemand einen funktionierenden code und will ihn mir schicken? Ich will nicht abschreiben... aber es würd mir helfen ihn mit meinem zu vergleichen.

    Hier ist meine emailadresse: tatjana19@gmx.at

  72. #72
    blue1's Avatar
    Title
    Hero
    Join Date
    May 2002
    Posts
    183
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @rice

    also zeile 111 & 112 kannst du eigentlich zusammenfassen zu: first[edge} = point;

    zeile 117 & 129 muss eigentlich so lauten: if (edge < TOP)

    bei mir funktionierts auf jedenfall so
    LINUX: for those who don't like Windows
    *BSD: for those who like UNIX

  73. #73
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    @ blue1:

    das mit dem TOP hab ich mir auch gedacht, aber wenn edge sowohl mit zahlen als auch mit LEFT,RIGHT etc definiert wird, dürfte das eigentlich nicht das problem sein....

    ganz oben steht ja-> static final int LEFT=0, RIGHT=1, BOTTOM=2, TOP=3

    also müsste 3 auch gehn.


    was die zeile 111 und 112 betrifft geb ich dir recht, das kann man zusammenfassen....

    mfg, Phil.
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  74. #74
    blue1's Avatar
    Title
    Hero
    Join Date
    May 2002
    Posts
    183
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @ MarvinTheRobot

    hast recht, habe das glatt übersehen

    mfg
    blue1

  75. #75
    Bruno's Avatar
    Title
    Baccalaureus
    Join Date
    Jun 2002
    Posts
    912
    Thanks
    0
    Thanked 0 Times in 0 Posts
    @Rince: Hab das ClipPoint eigentlich genauso geschrieben wie du (halt hab ich

    first[edge][x] = point[x]; //(zeile111)
    first[edge][y] = point[y];

    zu

    first[edge] = point;

    zusammengelegt und statt

    edge < 3

    hab ich edge < Top

    Aber ich hab am anfang auch die X/Y Variablen auf klein geändert, weil ich mich immer verschrieben hab, und mein Rechenknecht hat spöntan einen Aufstand gemacht (kompilieren hat er sich aber lassen, nur zeichnen wollte er halt nicht! Ich sags ja immer, "Sch... Technik!!!" ). Als ich sie wieder allesamt auf groß geändert hab, gings wieder und jetzt rennts (so halbwegs)

    MfG, Bruno
    Ich bin das Gesetz! Ihr dürft tun, was ich will. Es steht euch frei, solange ihr es tut.

  76. #76
    dose's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    Meidllling
    Posts
    1,037
    Thanks
    1
    Thanked 0 Times in 0 Posts
    Original geschrieben von Filz
    [B]

    Ist nicht so schwer der Fehler: Schreib einfach nach dem Aufruf von closeClip
    PHP Code:
    anz=cnt
    AAAAAAAAAAAAAH DANKE ! Das hat mir jetzt sicher ne Stunde oder mehr debuggen erspart, darauf wär ich so schnell wohl nicht mehr gekommen...
    yast, SuSEconfig, apt-get and rpm - the 4 horsemen of the apocalypse

    Platform of insanity :: www.dose-xp.org

  77. #77
    ghost dog's Avatar
    Title
    Elite
    Join Date
    Feb 2002
    Location
    Posts
    498
    Thanks
    0
    Thanked 1 Time in 1 Post
    @kuschlmaus & megabit:

    thx für eure tipps!
    white russian hat eber eh geholfen! wirkt manchmal wunder :-)

  78. #78

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    14
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Okay bei mir funzt es jetzt.

    Ich wollte nochmal allen danken die mir geholfen haben meine fehler zu finden. Und damit auch noch andere davon profitieren können zähl ich jetzt noch schnell die fehler auf die ich gemacht habe.

    Meiner fehler waren folgende:

    Ich hab statt

    int[][] clipped ---> double[][] clipped geschrieben. Warum es deswegen nicht funktioniert hat weiß ich nicht weil das meiner meinung nach keinen unterschied machen sollte... aber scheinbar doch. Falls einer weiß warum wäre ich für eine erklärung dankbar.(auf den fehler wäre ich wahrscheinlich in hundert jahren nicht draufgekommen.)

    der Zweite fehler war eher banaler natur... ich hatte bei intersect ein else vergessen. (dummer fehler ich weiß!)

    und der 3 war das ich unten bei der methode clip die variable cnt nochmal als int definiert habe... also

    int cnt = 0; statt
    cnt = 0;

    Also fals es jemand noch nicht hat hilft ihm das ja vielleicht weiter.

    JIPIII es funktioniert endlich!!!!

  79. #79
    dose's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    Meidllling
    Posts
    1,037
    Thanks
    1
    Thanked 0 Times in 0 Posts
    Naja, clipped[][] wird als int benötigt, da das dann die ganzzahlige Darstellung im Koordinatensystem repräsentieren soll...so wies halt aufn Screen kommt.
    yast, SuSEconfig, apt-get and rpm - the 4 horsemen of the apocalypse

    Platform of insanity :: www.dose-xp.org

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •