diff --git a/20160107/ainf-2015ws-p4.pdf b/20160107/ainf-2015ws-p4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bef46b9bd1e92a0260f282a52461a46b425298bc Binary files /dev/null and b/20160107/ainf-2015ws-p4.pdf differ diff --git a/20160107/ainf-2015ws-p4.tex b/20160107/ainf-2015ws-p4.tex new file mode 100644 index 0000000000000000000000000000000000000000..99c5e5d515fea2403ebc316c0daaea9ddebdd07c --- /dev/null +++ b/20160107/ainf-2015ws-p4.tex @@ -0,0 +1,105 @@ +% ainf-2015ws-p4.pdf - Labor Notes on Fundamentals in Computer Architecture +% Copyright (C) 2014, 2015, 2016 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{multicol} +\usepackage{sfmath} + +\sloppy +\pagestyle{empty} +\newcommand{\sep}{~$\cdot$~} +\newcommand{\mylicense}{CC-by-sa (Version 3.0) oder GNU GPL (Version 3 oder höher)} + +\begin{document} + + \makebox(0,0)[tl]{\includegraphics[scale=0.57]{logo-hochschule-bochum-cvh-text.pdf}}\hfill + \makebox(0,0)[tr]{\includegraphics[scale=0.5]{logo-hochschule-bochum.pdf}} + \par\bigskip\bigskip + \begin{center} + \Large\textbf{Praktikumsversuch 4: 3d-Grafik-Editor} + \par\medskip + \normalsize Angewandte Informatik\sep + Wintersemester 2015/16\sep + Prof.~Dr.~Peter Gerwinski + \end{center} + + Aufgabe: Schreiben Sie ein C-Programm, + das Objekte (z.\,B.\ Würfel, Kugel, Teekanne) in eine 3d-Grafik einfügen + und nachträglich verändern kann (z.\,B.\ verschieben, Farbe ändern). + + \begin{multicols}{2} + + \begin{itemize} + \item + In der GLUT-Bibliothek (OpenGL) kann man mittels \lstinline{glutKeyboardFunc()} + eine Callback-Funktion zur Steuerung von Tastatur und Maus installieren + (siehe z.\,B.\ die Vorlesungsunterlagen vom 29.\,10.\,2015). + \item + Schreiben Sie zunächst eine Datenstruktur + (Empfehlung: Stack von \lstinline{struct}s), + in der Sie die Eigenschaften (z.\,B.\ Typ, Ort, Farbe) + von 3d-Objekten abspeichern können. + \item + Schreiben Sie nun ein Programm, + das die bereits in der Datenstruktur befindlichen Objekte grafisch darstellt. + (Zu Testzwecken können Sie die Datenstruktur entsprechend initialisieren.) + \item + Erweitern Sie das Programm so, daß auf Tastendruck und/oder Mausklick + ein neues Objekt in die Datenstruktur eingefügt + (und ab dann auch dargestellt) wird. + \item + Erweitern Sie nun das Programm um die Möglichkeit, + per Tastendruck und/oder Mausklick ein bereits vorhandenes Objekt + auszuwählen. + \item + Ergänzen Sie Möglichkeiten, das ausgewählte Objekt zu bearbeiten. + \end{itemize} + + \bigskip + + \qquad\qquad\emph{Viel Erfolg!} + + \end{multicols} + + \vfill + + \begingroup + + \small + + \setlength{\leftskip}{3cm} + + Stand: 4.\ Januar 2016 + +% Soweit nicht anders angegeben:\\ + Copyright \copyright\ 2014, 2015\quad Peter Gerwinski\\ + Lizenz: \mylicense + + Sie können diese Praktikumsunterlagen + einschließlich Quelltext und sonstiger Lehrmaterialien + unter \url{https://gitlab.cvh-server.de/pgerwinski/ainf.git} herunterladen. + + \endgroup + +\end{document}