GRafik Tool schreiben, aber wie????

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • GRafik Tool schreiben, aber wie????

    Hi Leute, wir müssen an der Uni en Grafik Tool schreiben.
    Aber unser Prof is net wirklich gut, der spielt mehr Solitär, als uns mal was beizubringen.

    Wir müssen ein Grafik tool schreiben.

    Ich poste hier mal die Aufgabenstellung:

    Teil 1
    Erstellen sie einen Graphikeditor

    Schreiben Sie ein C++ Programm mit dem sie interaktiv einen Graphikeditor auf Oberflächenbasis erzeugen. Dazu sollten Sie einige Graphikprimitive (Linien, Rechtecke, Kreise, Punkte) definieren und mit Attributen (Füllung, Linenart, Farbe) versehen. Dazu sollten sie Transformationen (Translation, Skalierung und Rotation) ermöglichen. Das Programm sollte objektorientiert sein und eine Graphische Obeerfläche besitzen.


    alternativ

    Teil2
    Erstellen Sie einen Graphikeditor

    Lesen sie ein Graphikprogramm ein, dass folgende Befehle kennt.

    OpenGr(x1,y1,x2,y2)
    Setline(x1,y1,x2,y2)
    Setlinetype(type, Farbe)
    SetReccht((x1,y1,x2,y2)
    SetRecchttyp( type, Farbe)
    SetCircle((x1,y1,r)
    SetCircletyp( type, Farbe)
    SetXformmat(M1)
    AccTrans(M1,tx,ty)
    AccSkal(M1,tx,ty)
    AccRot(M1,alpha)
    CloseGR()

    Analysieren sie die Befehle geben sie unter Umständen einen Text aus mit den Objekten und den Koordinaten





    So jetzt programmier mal sowas, wenn man erst eine Vorlesung hatte und die mehr auf normalem C aufgebaut war.

    Meine Frage jetzt, hat jmd sowas in der Art schon mal programmiert und könnte mir da weiterhelfen? Bzw. kennt ihr gute Tutorials für Grafikprogrammierung in C++ was so auf das Thema zielt?

    Danke im Vorraus
  • Hi Timo,
    tja - da mussten wir doch alle mal durch :wink:
    Aber ich denke nicht, dass es dir weiterhilft, wenn ich dir hier meinen Quellcode poste - DU sollst es ja lernen nicht für die Klausur bringts dich auch nicht weiter. Aber mal zum Loslegen, würd ich mal vorschlagen:
    - Entwirf erstmal eine Objekthierarchie für Graphik-Objekte ... z.B. GraphObject (speichert alle generischen Attribute wie Farbe usw.) und davon leitest du dann spezielle Objekttypen ab, wie Line, Circle .... usw. wo du dann die entsprechenden Algorithmen zum Zeichnen implementierst.
    - Für die Transformationen kannst des ähnlich machen. Alle Trafos haben ne Matrix gemein (also eine Basisklasse für 4x4-Matrizen) und können auf einen Punkt oder Vector angewendet werden (Wink: Methoden für Matrix x Punkt / Vector)- diese wird dann für alle affinen Trafos abgeleitet ..., alles klar soweit?
    Microsoft gives you Windows, UNIX gives you the whole house.