Klawonn - Introduction to Computer Graphics Using Java 2D and 3D (Springer, 2008).pdf
(
2609 KB
)
Pobierz
435585942 UNPDF
Frank Klawonn
Introduction to
Computer Graphics
Using Java 2D and 3D
ABC
Frank Klawonn, MSc, PhD
Department of Computer Science
University of Applied Sciences Braunschweig/Wolfenbuettel
Germany
Series editor
Ian Mackie, École Polytechnique, France and King s College London, UK
,
Advisory board
Samson Abramsky, University of Oxford, UK
Chris Hankin, Imperial College London, UK
Dexter Kozen, Cornell University, USA
Andrew Pitts, University of Cambridge, UK
Hanne Riis Nielson, Technical University of Denmark, Denmark
Steven Skiena, Stony Brook University, USA
Iain Stewart, University of Durham, UK
David Zhang, The Hong Kong Polytechnic University, Hong Kong
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library
Library of Congress Control Number: 2007939533
Undergraduate Topics in Computer Science ISSN 1863-7310
ISBN: 978-1-84628-847-0
e-ISBN: 978-1-84628-848-7
© Springer-Verlag London Limited 2008
Originally published in the German language by Friedr. Vieweg & Sohn Verlag, 65189 Wiesbaden,
Germany, as “Frank Klawonn: Grundkurs Computergrafik mit Java. 1. Auflage”. © Friedr. Vieweg &
Sohn Verlag |GWV Fachverlage GmbH, Wiesbaden 2005
Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted
under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or
transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the
case of reprographic reproduction in accordance with the terms of licences issued by the Copyright Licensing
Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers.
The use of registered names, trademarks, etc. in this publication does not imply, even in the absence of a
specific statement, that such names are exempt from the relevant laws and regulations and therefore free for
general use.
The publisher makes no representation, express or implied, with regard to the accuracy of the information
contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that
may be made.
Printed on acid-free paper
9 8 7 6 5 4 3 2 1
springer.com
Preface
Early computer graphics started as a research and application field that was
the domain of only a few experts, for instance in the area of computer aided
design (CAD). Nowadays, any person using a personal computer benefits from
the developments in computer graphics. Operating systems and application
programs with graphical user interfaces (GUIs) belong to the simplest appli-
cations of computer graphics. Visualisation techniques, ranging from simple
histograms to dynamic 3D animations showing changes of winds or currents
over time, use computer graphics in the same manner as popular computer
games. Even those who do not use a personal computer might see the results of
computer graphics on TV or in cinemas where parts of scenes or even a whole
movie might be produced by computer graphics techniques.
Without powerful hardware in the form of fast processors, suciently large
memory and special graphics cards, most of these applications would not have
been possible. In addition to these hardware requirements e
cient algorithms
as well as programming tools that are easy to use and flexible at the time are
required. Nowadays, a standard personal computer is sucient to generate im-
pressive graphics and animations using freely available programming platforms
like OpenGL or Java 3D. In addition to at least an elementary understanding
of programming, the use of such platforms also requires basic knowledge about
the underlying background, concepts and methods of computer graphics.
Aims of the book
The aim of this book is to explain the necessary background and principles of
computer graphics combined with direct applications in concrete and simple
examples. Coupling the theory with the practical examples enables the reader
to apply the technical concepts directly and to visually understand what they
vi
Preface
mean.
Java 2D and Java 3D build the basis for the practical examples. Wherever
possible, the introduced concepts and theory of computer graphics are imme-
diately followed by their counterparts in Java 2D and Java 3D. However, the
intention of this book is not to provide a complete introduction to Java 2D
or Java 3D, which would both need a multivolume edition themselves without
even touching the underlying theoretical concepts of computer graphics.
In order to directly apply computer graphics concepts introduced in this
book, the book focusses on the parts of Java 2D and Java 3D that are absolutely
relevant for these concepts. Sometimes a simple solution is preferred over the
most general one so that not all possible options and additional parameters
for an implementation will be discussed. The example programs are kept as
simple as possible in order to concentrate on the important concepts and not
to disguise them in complex, but more impressive scenes.
There are some selected additional topics—for instance the computation of
shadows within computer graphics—that are introduced in the book, although
Java 3D does not provide such techniques yet.
Why Java?
There are various reasons for using Java 2D and Java 3D as application plat-
forms. The programming language Java becomes more and more popular in
applications and teaching so that extensions like Java 2D/3D seem to be the
most obvious choice. Many universities use Java as the introductory program-
ming language, not only in computer science, but also in other areas so that
students with a basic knowledge in Java can immediately start to work with
Java 2D/3D. Specifically, for multimedia applications Java is very often the
language of first choice.
Overview
The first chapters of the book focus on aspects of two-dimensional computer
graphics like how to create and draw lines, curves and geometric shapes, han-
dling of colours and techniques for animated graphics.
Chapter 5 and all following chapters cover topics of three-dimensional com-
puter graphics. This includes modelling of 3D objects and scenes, producing
images from virtual 3D scenes, animation, interaction, illumination and shad-
ing. The last chapter introduces selected special topics, for example special
effects like fog, sound effects and stereoscopic viewing.
Preface
vii
Guidelines for the reader
In order to be able to apply the computer graphics concepts introduced in this
book, the reader will need only very elementary knowledge of the programming
language Java. The example programs in this book use Java 3D but also Java
2D in the first chapters, since two-dimensional representations are essential for
computer graphics and the geometrical concepts are easier to understand in
two dimensions than in three. The necessary background of Java 2D and Java
3D is included as application sections in this book.
Although the coupling of theory and practice was a main guideline for
writing this book, the book can also be used as an introduction to the gen-
eral concepts of computer graphics without focussing on specific platforms or
learning how to use Java 2D or Java 3D. Skipping all sections and subsections
containing the word “Java” in their headlines, the book will remain completely
self-contained in the sense of a more theoretical basic introduction to computer
graphics. For some of the computer graphics concepts introduced in this book
it is assumed that the reader has basic knowledge about vectors, matrices and
elementary calculus.
Supplemental resources
Including the complete source code of all mentioned example programs would
have led to a thicker, but less readable book. In addition, no one would like to
take the burden of typing the source code again in order to run the examples.
Therefore, the book itself only contains those relevant excerpts of the source
code that are referred to in the text. The complete source code of all example
programs and additional programs can be downloaded from the book web site
at
http://public.rz.fh-wolfenbuettel.de/
∼
klawonn/computergraphics
This online service also provides additional exercises concerning the theo-
retical background as well programming tasks including sketches of solutions,
teaching material in the form of slides and some files that are needed for the
example programs. The links mentioned in the appendix and further links to
some interesting web sites can also be found at the online service of this book.
Acknowledgements
Over the years, the questions, remarks and proposals of my students had a great
influence on how this book was written. I cannot list all of them by name, but I
would like to mention at least Daniel Beier, Thomas Weber, Jana Volkmer and
especially Dave Bahr for reading the manuscript and their extremely helpful
Plik z chomika:
sigebryht
Inne pliki z tego folderu:
Brittain - Tomcat - The Definitive Guide 2e (O'Reilly, 2007).pdf
(5108 KB)
Darwin - Java Cookbook 2e (O'Reilly, 2004).chm
(3392 KB)
Dreamtech - Wireless Programming with J2ME (Hungry Minds, 2002).pdf
(7603 KB)
Eckel - Thinking in Java 4e LQ (Prentice-Hall, 2006).djvu
(31432 KB)
Falkner - Servlets and Java Server Pages - J2EE Technology Web Tier (AW, 2003).chm
(4844 KB)
Inne foldery tego chomika:
C, C++, C Sharp
HTML, CSS, Javascript, Ajax
Macromedia Flash
Perl
PHP
Zgłoś jeśli
naruszono regulamin