Contents
Page List
The Art of Coding
The Language of Drawing, Graphics, and Animation
The Art of Coding
The Language of Drawing, Graphics, and Animation
Mohammad Majid al-Rifaie
Anna Ursyn
Theodor Wyeld
Anna Ursyn
https://www.mixbook.com/photo-books/all/the-rider-of-a-horse-across-media-20240994
First edition published 2020
by CRC Press
6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742
and by CRC Press
2 Park Square, Milton Park, Abingdon, Oxon OX14 4RN
2020 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business
Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, please access
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe.
ISBN: 978-0-367-90037-3 (hbk)
ISBN: 978-1-138-62964-6 (pbk)
ISBN: 978-1-315-21033-9 (ebk)
To our students
Contents
Since I can remember, I was always saying that the code is art! Coding activates creative thinking, and as Steve Jobs once said: Everybody in this country should learn to program a computer, because it teaches you how to think and I fully agree with that. You can learn how to use coding for drawing figures, creating graphics layouts, or going further and assembling interactive animations then, if you know how to draw a pixel, you can draw anything that your creative imagination brings to the table.
In this sense, the book that you have in your hands, The Art of Coding: The Language of Drawing, Graphics, and Animation, is a very special one. It consists of lots of complete code examples that will act as a guiding voice, showing you what is possible using creative thinking a pure inspiration. It will teach you how to code animations, create audio visual installations, build 3D visualisers, morphing create weather tree applications, connect and interact with embedded electronic systems such as Arduino, or execute various image processing routines, and, much, much more. This book will allow you to experiment using guided practice with different programming languages and data structures such as text, images, animations, use of APIs, sound data, and music. It will open new horizons and an understanding that coding can be used in various imaginative and inspirational ways, and that it is accessible to creative people, and indeed everyone, not only software engineers or computer science professionals. I strongly encourage you to experiment with various code examples; even if you break them, in the end, you learn by practice.
This book is written in very positive and inspiring ways, and educates not only on technological aspects, but also historical facts, art, science, and engineering. It is written by three experts in the field educators, artists, and computer scientists with diverse knowledge and connected across continents. It is highly recommended to everyone: Artists, scientists, designers, engineers, educators, managers whoever you are, you will get inspired by possibilities of coding after reading this book.
Tomasz Bednarz
Director and Head of Visualisation at the Expanded Perception and Interaction Centre (EPICentre) at the UNSW Art & Design | Visual Analytics Team Leader at the CSIRO Data61 | ACM SIGGRAPH Asia 2019 Conference Chair | Demoscene Coder | Artist-Scientist.
T HERE are countless new apps, methods-related solutions, and web solutions that create opportunities for personal, technological, and materials-related growth, especially when programming for new startups. This book is aimed at making programming easier by presenting it in a visual way. The authors' intention is to help the reader understand the core programming concepts for art, web, and everyday applications including pervasive, ubiquitous, and wearable apps. We also discuss how applying pictures, analogies, and metaphors that refer to familiar sensory faculties helps. Making the programming processes visual helps the reader understand the underlying concepts, and gain the knowledge needed, faster and easier. This book also addresses readings in art, science, mathematics, and other subjects, as well as some broader issues such as multicultural, environmental, and social objectives.
Being able to program requires abstract thinking, math skills, spatial ability, logical thinking, imagination, and creativity. All these abilities can be acquired with practice. They can be mastered by practical exposure to art, music, and literature. In this book, we discuss art, poetry, and other forms of writing, while pondering difficult concepts in programming. The book discusses how we use our senses in the process of learning computing and programming, as well as how visual and verbal ways of studying these processes can involve artistic creation. Programming can be seen as a set of concepts linked by a common framework. The same image can be created with different computer languages. Each time a different compiler might be used with a different environment set up with different concepts between each computing language, its origin, which group of languages it belongs to, its strengths and weaknesses, and so on. To make this easier, we have focused on visualisation of the processes as an outcome that serves various creative goals or applications.
Students in programming classes often participate in exercises that prepare them to master a computer language but not to grasp the aesthetic concepts, composition of the project, or its conceptual meaning. For example, students might be asked to perfect their computer science skills by writing a program for a colourful ball that is bouncing in a closed rectangular area and changing its colour after each contact with a border. Students produce similar, easy to assess solutions; they may work on the changing reflections of a background on the balls, but they are usually not expected to create anything original or new. The task for the programmer can be solved with various coding strategies. Many times individual programmers may come to the same solution using different programs. The final products look the same while the code itself may vary. Examining the ways various students solve the same assignment might be one of the best practices in learning how to code. Contrary to these practices, when confronted with a learning project to be depicted with the use of programming, students employ their cognitive thinking abilities while they strengthen their abstract thinking and inventive imaging ability; they write unique solutions in their programs to create one-of-a-kind computer graphics.