Vous êtes sur la page 1sur 3

INTRODUCTION

M O D E L I N G A N D A N I M AT I O N , L A B 0

Mark Eric Dieckmann Gabriel Eilertsen

Monday 4th April, 2016


16:13

Abstract 2 hours for the introductory lab and 7 labs lasting


3 hours to implement labs 1-6. Lab 7 serves as an
This lab is intended to present the basic guidelines extra lab. During the labs you work in groups of
and familiarize you with the code structure used for two. If you bring your own laptop or if there are
the lab course in Modeling and Animation (MoA). computers available you may also work alone. But
We will look at how to fetch, compile and run the no more than two people are allowed in each group.
application. We will also look at how to present
your findings in a report.
2.2 Presenting Results
Gabriel Eilertsen will help you with your questions
1 Introduction related to the implementation of the code. When
The code structure is designed to be as simple as you are finished with the implementation, I will
possible and still support your work well during ask questions regarding your code and mark your
the labs. It offers a G U I where you can do simple lab as completed if you answer my questions in a
transformations and manipulate the visualization of satisfactory way. The marks are pass / not pass.
your models. There is a lot of code already written
so you can focus on implementing the core ideas 2.3 Writing Reports with LaTeX
and theory behind the methods discussed during
the course. LATEX is a document preparation system that of-
fers programmable desktop publishing features and
extensive facilities for automating most aspects of
2 General Guidelines typesetting and desktop publishing. For example
numbering and cross-referencing, tables and fig-
These are general guidelines and rules for the orga- ures, page layout, bibliographies, math formulas
nization of the labs. and much more. To use LaTeX you need special
software which is available in the lab computers. If
2.1 Labs and lectures you want to install it at home LATEX is available for
most platforms, see
The lectures focus on topics that are directly relevant http://www.latex-project.org/. I personally
for the labs. You should understand the lectures and use MIKTeX for Windows and the default LaTeX
the theory part of the lab script before you come to (pdflatex) installation in Linux. MIKTeX standard is
the labs - the lab hours will be enough only if you available in the computer room K4507 and free to
come prepared. We have scheduled one lab lasting download from miktex.org.

1
2.3.1 Report figure that shows how the edges are connected and
you describe it in the text.
All 6 reports are personal and should be written in-
The section Results should describe your results.
dividually as they will be the base for an individual
You should show about 2-4 figures (2 for grade 3,
grade. The reports have to be written in LaTeX and
3 for grade 4 and 4 for grade 5), which you made
sent to me as a pdf file. There is a LaTeX template
with your program, and describe what you see and
on the course page. Compiling the LaTeX source
how you achieved that. This section should cover
code in the same directory as the figure using pdfla-
1 A4 page if you aim for a 3 and 1.5 pages if you
tex gives you a pdf document like the compiled
aim for a 5 (including Figures). The Results section
version on the course page. You can use the LaTeX
should end with one short paragraph (4 sentences
source as a blueprint for your reports.
or so) that summarizes your results. It is followed
The reports should not contain pseudo-code. If by a sentence stating the grade you want and the
you use information from text sources other than list of references if you have any.
the lab script or the lecture notes then you have to The total length of your report should be about
refer to these sources. The report should be self- 3.5 pages for a 3 and about 4.5 pages for a 5 (in-
contained, which means that it should not be nec- cluding all figures). You can use subsections in the
essary to read other sources such as the papers that section Results to distinguish the individual tasks
you list in your reference list. You can assume that you implemented. Please avoid using subsections
the reader is familiar with the lab script and the lec- in the Introduction and Background and structure the
ture notes and explain the algorithms covered by text solely by using paragraphs.
these without going too much into detail.
Subdivide your report into an Abstract, an Intro-
duction, a Background section and a Results section.
3 Supported Systems
Abstract: summarize in about 80 words the re- To make the code cross-platform, we use the wxWid-
ports content and focus primarily on your results. gets library1 for the user interface. This is supported
The section Introduction provides the reader with for many platforms and compilers, but during the
a compact description of what the aim of the lab labs we restrict our support to Windows 7 using Vi-
was. You do not go into technicalities in this part of sual C++ Express Edition 20122 . The lab computers
the report. You describe in own words the general in K4507 run Windows. If you bring a laptop with
idea behind the lab: How do we expand in this lab a different system we cant guarantee it will work,
our program, what approach do we take and with but you are of course free to give it a try.
what goal in mind?
The Abstract, the Introduction, your name, the 4 Getting the Code
course code and the title of the report (for example
Lab 1: Mesh data structures) should fit on the first The code and sample datasets are available in the
page of the report without leaving too much blank form of zip files on the course homepage3 . It is
space on it. recommended to store the code on a local hard drive
The section Background should take up about one during the lab since this will speed up compilation
A4 page if you aim at a grade 3 and about 1.5 A4 times. But remember to move your files to another
pages if you aim at a 5 (excluding Figures). You give storage (e.g. H: or USB stick before leaving the lab)!
in this section a more detailed description of what 1 http://www.wxwidgets.org/
you have implemented in this lab. You can use 2-3 2 http://www.microsoft.com/express/vc/
figures to support your description. For example, if 3 http://www.itn.liu.se/mardi/WebPages/Courses/TNM079/courseTNM079-

you describe the half-edge mesh, you introduce a 2014

2
5 Additional libraries breakpoints) since this will drastically slow down
the application.
The wxWidgets libraries need to be downloaded
separately from the course page if you work in Win-
dows. We use the version for VC++ 2012 (the lab 7 Code Structure
computers use VC++ 2012). You can extract the files
in the VC++ directory for the build system to detect After successfully compiling and running the appli-
them automatically (see next section). However, if cation we can have closer look at the code structure.
you have little storage left on your network storage The G U I is implemented in GUI/FrameMain so you
you can put them anywhere on a local drive. can start by looking through this class (we have
also supplied the file GUI.fbp which you can use to
modify the GUI in wxFormBuilder). An important
6 Compiling class is also GUI/GLObject which all objects added
to the scene inherit from (such as meshes, implicits,
cut planes etc.). A base class for geometrical objects
We use CMake4 to create build scripts for differ-
is Geometry/Geometry which adds transformations
ent environments. After having downloaded the
and the vital Update() and Initialize() functions.
code and the wxWidgets libraries (see above), open
Feel free to browse around and take your time to
CMake. Browse for your source code directory and
familiarize yourself with the code.
choose a directory for the build. For example, if
your code is at H:\Code, you can create a directory
H:\Code-build for your build. Next, press config-
ure to check for a working environment. If every-
8 Acknowledgements
thing is fine, it will report configuration done. If The lab scripts and the labs were originally de-
the wxWidgets library is not found, you have to set veloped by Gunnar Lathen, Ola Nilsson, Andreas
the correct directory in the wxWidgets ROOT DIR pa- Soderstrom and Stefan Lindholm.
rameter. Each time you change a variable you have
to press configure to rebuild the configuration.
When everything is done, press generate to create
the solution/make-files in the build directory.
Note that the entire code-base is available from
lab 1, but only the files necessary for each corre-
sponding lab will be included in the build. This
makes it easier to navigate in the source files in
the beginning. Before each lab we will update the
CMake-file to include the files for the next lab. If you
want to skip ahead, you can select the advanced
parameters in CMake and check the box for a later
lab, e.g. BUILD LAB3 which will include all files up
to, and including, lab 3.
In Visual C++, you need to set the MoA project
as startup project by right-clicking on MoA and se-
lect set as start-up project. You can either build
using Release or Debug settings only choose
Debug if you actually debug your code (e.g. using
4 http://www.cmake.org/

Vous aimerez peut-être aussi