Posts by Foolish_Genius

    ich wurde auch verdächtigt, ne musterlösung vom vorjahr verwendet zu haben, bloß weil bei mir tatsächlich "L" "R" "T" steht, und net "..."


    dabei hab ich doch eh vor 2 monaten gepostet, dass das mainframe nicht mac tauglich is und es selbst modifiziert hab... :ausheck:


    Ok, dann hat ein prüfer sich gewundert warum das Framework bei dir anders ausschaut - das hatte aber in Deinem Fall nichts mit irgendwelchen Code-Ähnlichkeiten zur Musterlösung zu tun, die wir prinzipiell überprüfen ;-)


    Wir müssen leider testen, ob eine große Ähnlichkeit zur Musterlösung besteht - es gibt leider einen gar nicht so kleinen Prozentsatz an Leuten, die einfach abschreiben :-( Falls eine Ähnlichkeit besteht, heißt das aber noch lange nicht, dass ihr deswegen durchfallen werdet!!!!


    Bei Beispiel 2 ist es leider so, dass sich der Source Code aber auch so sehr stark ähneln kann, weil er ja (in einer anderen Programmiersprache) bereits fix fertig im Buch steht. So ein falscher Verdacht ist leider nicht auszuschließen und für den betroffenen Studenten sicher eine Stress-Situation - aber genau aus diesem Grund prüfen wir ja auch auf Verständnis, und falls jemand den Algorithmus erklären kann (was ja der Fall sein müsste, wenn er nicht abgeschrieben hat), bekommt er auch alle Punkte.


    Wegen den Abgabegesprächen und dem Kennen des Frameworks: Die Gespräche werden (bis auf die 2 Studienassistenten Larisa und Grassi) nicht von den Tutoren durchgeführt, sondern finden alle bei Instituts-Angestellten statt! Die können nicht jede definierte Variable kennen, und werden Euch aus dem Grund aber sicherlich auch wirklich aufs Verständnis hin prüfen, und nicht auf den genauen Source Code - dass man genauer nachfragen muss, wenn eine Ähnlichkeit zur Musterlösung besteht, ist glaub ich logisch ;-)

    Ich versteh die Klausel nicht ganz. Was wäre ein Beispiel für etwas, das im Code nicht vorkommen würde, ich aber trotzdem erklären muss?


    Das soll heißen, dass Du beispielsweise den Clipping Algorithmus auf einem Blatt auch selber durchrechnen/skizzieren kannst. Gerade bei diesem Beispiel passiert es oft, dass die Leute nur den Code vom Buch in Java übersetzt haben und nicht wirklich wissen, was genau passiert... Auch wenn sie den code selber auswendig können ;-)


    Genauso kann es sein, dass Du den Unterschied zwischen Links- und Rechtsmultiplikation erklären musst, obwohl Du nicht zwingend beides implementiert hast.


    Prinzipiell geht's also darum, dass Du die Algorithmen auch wirklich verstanden hast, und nicht darum, den Code zu analysieren. Dass Ihr programmieren könnt, wird ja vorausgesetzt ;-)

    dafür hab ich gelernt, dass das skaralprodukt gleich dem cos des winkels zwischen den 2 vektoren ist :D (sowas müsst ma normal eh wissen, aber di ematura is ja schon sooo lange her :shinner: )


    er wollte dich wahrschenilich vorbereiten: dieses wissen kannst du spätestens in beispiel 5 gut brauchen, wenns um die korrekte beleuchtung geht... :)

    Blöde Frage, aber macht es etwas aus, wenn wir in der transform(...) Methode vorerst (bis Bsp5) die Normalvektoren komplett auslassen?


    In der Angabe steht:
    Für mich heißt das, dass ich mich da ruhig erst beim Bsp4 oder 5 darum kümmern kann und trotzdem keine Probleme beim Abgabegespräch bekommen werde. Stimmt das soweit oder gibts da beim Abgabegespräch nach dem Bsp 3B Punkteabzüge oder ähnliches?


    Sorry aber das lässt mir momentan noch keine Ruhe. ;)


    Hi,


    in den 3b-ToDos ist die Transformation der Normalen eigentlich schon vorgesehen, und gehört auch thematisch zur Viewing-Pipeline.


    Auch wenn man die Normals jetzt theoretisch noch nicht braucht - man kann Dich beim Gespräch fragen, wie der Transformations-Vorgang der Normalen funktioniert, und da tust Du dir sicher leichter, wenn Du es schon implementiert hast - einfach schon deshalb, weil du es anhand deines Codes erklären kannst.

    Du sollst den Vektor normalisieren, so dass seine Länge 1 beträgt - deine Vermutung war also richtig ;-)


    Das bedeutet (nur zur Sicherheit): Du addierst die Quadrate der einzelnen Komponenten (x,y,z) und ziehst daraus die Wurzel - dann hast Du die Länge (= den Betrag) des Vektors. Anschließend teilst Du jede Komponente durch diesen Betrag. Das ergibt Dir den normalisierten Vektor.

    Wow zu so später Stunde noch so eine schnelle Rückmeldung, Respekt! :)


    Das liegt an dem seltsamen Lebensrythmus, den ich derzeit habe - dafür wirst Du von mir nie eine Antwort am Vormittag erhalten ;-)


    EDIT: Hab den Fehler gefunden, war ein bisschen weiter unterhalb und lag daran dass ich im Fall dx < dy bei der Überprüfung y1 > y2 x = x1 anstatt x = x2 zugewiesen habe, vielen Dank für den guten Hinweis! :thumb:


    Super :)

    hi,


    die Linien die in Beispiel 1 werden ja tatsächlich 2 doppelt gezeichnet - nur normalerweise überdecken sie sich dann ;-)


    Kann es sein, dass Du zu Beginn eine Überprüfung machst, die einen "Punktetausch" zur Folge hat? Also zum Beispiel so, dass wenn eine Linie von rechts nach links gezeichnet werden soll, die beiden Punkte vertauscht werden, damit Du immer Linien von links nach rechts hast?


    Es könnte nämlich sein, dass Du bei diesem Vertauschen etwas falsch machst: Die y-position der Linie stimmt zwar, aber bei der x-Position könntest du einen Fehler drinnen haben...?


    Ist natürlich nur geraten ;-) Vielleicht hilfts.

    ja meiner hat auch bisschen anders ausgeschaut...gibt es irgendwo bilder von den restlichen richtigen darstellungen, die die nicht auf der hp sind ?
    weil mein pacman und mein pacman_reverse schaun in die gleiche richtung :/


    also meines wissens ist beim pacman_reverse nur die Zeichenrichtung entgegengesetzt - das bild selber ist nicht gespiegelt.

    hi,


    kleine Änderungen im Framework sind kein Problem, solange der Algorithmus selber darunter nicht zu etwas komplett anderem verkommt ;-) Wenn Du also die Punkte zuerst überprüfst und gegebenenfalls vertauschst, macht das normalerweise nichts. Prinzipiell muss aber ersichtlich sein, dass Du den Algorithmus verstanden und richtig implementiert hast.


    [EDIT]: Nur damit da kein Missverständnis auftaucht: Du willst die Punkte der Linie vertauschen, falls der erste Punkt rechts vom Linken liegt, und nicht die Linie einfach ignorieren, oder? Die Linien werden zwar in Beispiel 1 doppelt gezeichnet, aber das ändert sich später...[/EDIT]


    Vorzugsweise sollte das ganze aber schon "in der Nähe" des Bereichs sein, in dem "ToDo" steht - der Prüfer wird beim Abgabegespräch auch den Code anschauen, und es könnte kompliziert und unangenehm werden, wenn du solche Abfragen in den hintersten Ecken des Frameworks platzierst :-) Also in deinem eigenen Interesse: Verteile so einen recht einfachen Algorithmus wie den Bresenham nicht gerade über mehrere Klassen....

    Im Buch steht dass man für Speziallfälle dy = 0, dx = 0 und dx = dy die Linie direkt Zeichen lassen kann, ohne den Algorithmus anzuwenden. Ist das ok wenn wir das so machen?


    Wäre ja imo ein Performanceverlust wenn man in diesen Fällen trotzdem den Algorithmus durchlaufen lässt.


    Prinzipiell gehts ja in der Übung darum, den Algorithmus zu verstehen und beim Abgabegespräch erklären zu können. Wenn Du so eine "Zusatz-Abfrage" einbaust, die den Algorithmus schneller macht, ist Dir sicher niemand böse ;-)


    Solang der ursprüngliche Algorithmus noch da ist, sind solche Sachen kein Problem!

    ja, die Spiele werden ziemlich bald online gestellt werden (wie bisher in der "Hall of Fame") - natürlich ohne Source Code.


    Das kann erfahrungsgemäß aber noch ein paar Tage dauern... ;-)


    EDIT: Bei Engine-Games ist es immer ein bisschen ein lizenzrechtliches Problem, es kann sein dass die nicht online gestellt werden können!

    hi,


    ich hab nur drum gefragt ob du cg2lu machst, weil ich schon befürchtet habe, dass da eine menge diskussionen bei der 2. abgabe auf uns zukommen werden, wenn auf einmal eine gruppe alles in java programmiert hat ;-)


    Zu deinem Problem: Die Unschärfe von 5-10 pixel beim Picken klingt für mich nicht "normal", da ist wahrscheinlich schon noch ein Fehler drinnen. Ich tippe da am ehesten auf die Projektions-matrix, mit der die Picking-Matrix multipliziert werden soll, zumindest klingen die Fehler die du beschreibst am ehesten danach... es lässt sich von hier aus allerdings sehr schwer sagen was es genau ist, weil gerade irgendein kleiner Fehler bei einer Matrix oft einmal zu sehr sehr seltsamen Verhalten führt :(


    Vielleicht liest sich den thread aber demnächst noch sonst jemand durch der eine bessere idee hat - ich wünsch dir auf jeden fall gutes gelingen! :thumb: