The Art of Coding The Language of Drawing, Graphics, and Animation

There 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&...

Full description

Saved in:
Bibliographic Details
Main Authors Majid al-Rifaie, Mohammad, Ursyn, Anna, Wyeld, Theodor
Format eBook Book
LanguageEnglish
Published Boca Raton, Fla CRC Press 2020
CRC Press LLC
Chapman & Hall
Edition1
Subjects
Online AccessGet full text
ISBN0367900378
9781138629646
1138629642
9780367900373
DOI10.1201/b22094

Cover

Table of Contents:
  • 5.4.3 Writing code to develop application -- 5.4.4 Compile and run application -- 5.5 STEPS OF JAVA IMAGE PROCESSING -- 5.5.1 Draw JFrame -- 5.5.2 Read image file -- 5.5.3 Store image file -- 5.5.4 Modify image -- 5.5.5 Save the image file -- 5.5.6 Conclusion -- 5.5.7 Useful links -- Chapter 6: Conclusions and Educational Propositions -- 6.1 CODING IN CURRICULUM - GRAPHICAL THINKING -- 6.2 RESOURCES -- 6.3 FURTHER READING -- 6.3.1 Books on art and cognition -- 6.3.2 Books on coding for artists -- References -- Glossary -- Index
  • 3.5.3 Full audio file-driven animation -- 3.5.3.1 Class files -- 3.6 A FRAMEWORK FOR VISUALISATION OF CODES -- 3.6.1 How to build a computer -- 3.6.2 Projects involving expressive themes -- 3.6.2.1 Coding a horse and a rider, across media -- 3.6.3 Scientific visualisation -- 3.6.4 Programming 3D forms -- 3.6.4.1 Creating characters with feelings -- 3.6.4.2 Storytelling -- Chapter 4: Interactivity and Visualising Inputs: Mouse, Data, Finger -- 4.1 INPUTS AND OUTPUTS -- 4.2 A PORTRAIT: PERSON WITH A JETPACK -- 4.3 INTERACTIVE WEATHER TREE APPLICATION -- 4.3.1 Basic Tree class -- 4.3.2 Adding some controls -- 4.3.3 Controlling Tree class -- 4.3.4 Connecting to a live feed -- 4.3.5 Connecting to OpenWeather.com -- 4.3.6 Accessing the data from Canvas class -- 4.3.7 Adding rain to our display -- 4.3.8 Driving the Tree class from the weather data -- 4.3.9 Adding features to the control panel -- 4.4 ADDING BLING: USING LEDS WITH ARDUINO -- 4.4.1 Introduction -- 4.4.2 Arduino -- 4.4.3 Downloading and installation -- 4.4.3.1 Electronics basics -- 4.4.4 Arduino programming -- 4.4.4.1 Uploading to Arduino board -- 4.4.5 Wiring LEDs to Arduino -- 4.4.5.1 Wiring and powering circuits -- 4.4.6 Current limiting resistor calculation -- 4.4.7 Controlling multiple LEDs -- 4.4.8 Dimming an LED with pulse width modulation -- 4.4.9 Using randomness -- 4.4.10 Questions you should ask about LEDs -- Chapter 5: Translation -- 5.1 CODE THE SAME THING IN MANY LANGUAGES -- 5.2 TRANSLATION OF FORTRAN INTO JAVA -- 5.3 IMAGE PROCESSING IN JAVA FROM SCRATCH -- 5.3.1 Digital images in Java -- 5.3.2 Digital image processing -- 5.3.3 Pattern recognition -- 5.3.4 Computer vision -- 5.3.5 Optical character recognition -- 5.4 BASIC STEPS OF JAVA PROGRAM DEVELOPMENT -- 5.4.1 Java compiler download and installation -- 5.4.2 IDE software download and installation
  • Cover -- Half Title -- Title Page -- Copyright Page -- Dedication -- Contents -- List of Codes -- Foreword -- Preface -- Contributors -- Authors -- About the Cover -- Chapter 1: Introduction -- 1.1 WHO IS THIS BOOK FOR? -- 1.2 CODING: LANGUAGE OR MATHEMATICS? -- 1.3 CODING WITH VISUAL AND VERBAL CUES -- Chapter 2: Introduction to Coding -- 2.1 A BRIEF HISTORY OF CODING -- 2.2 CHOOSING A PROGRAMMING LANGUAGE -- 2.2.1 Object-oriented programming (OOP) -- 2.3 BASIC CONCEPTS IN CODING -- 2.3.1 Syntax and semantics -- 2.3.2 Assignment statements -- 2.3.3 Sequences -- 2.3.4 Selections -- 2.3.5 Loops -- 2.3.6 Programming languages &amp -- computer architecture -- 2.4 JAVA, SOME BACKGROUND -- 2.4.1 How Java works -- 2.4.2 Attributes and behaviour -- 2.5 INTRODUCTION TO CODING ANIMATION -- 2.5.1 First animation: Expanding Circle -- 2.5.1.1 Basic animation of simple objects -- 2.5.1.2 Class Circle -- 2.5.1.3 Initialisation and configuration -- 2.5.1.4 The animation process -- 2.5.1.5 Further coding -- 2.5.2 Morphing -- 2.5.2.1 Circle -- 2.5.2.2 Triangle -- 2.5.2.3 Square -- 2.5.2.4 Random shape -- 2.5.2.5 Animating the morphing process -- 2.5.2.6 Further coding -- 2.6 AUDIO VISUALISATION -- 2.6.1 Building an audio visualiser -- 2.6.2 Basic audio player -- 2.6.3 Basic line graph generator -- 2.6.4 Basic audio waveform static visualiser -- 2.6.5 Basic audio animated visualiser -- 2.6.6 Basic audio animated visualiser polarised -- 2.7 MULTISENSORY-BASED PERCEPTION &amp -- LEARNING -- 2.7.1 Image versus text -- 2.8 MULTISENSORY-BASED CODING -- 2.8.1 The elements of design in art -- 2.8.2 Line -- 2.8.2.1 Project: Meteorological events -- 2.8.3 Texture -- 2.8.4 Pattern -- 2.8.5 Colour and value -- 2.8.5.1 Primary colours in pigment and light -- 2.8.5.2 Project: Drawing an apple -- 2.8.6 Space -- 2.8.6.1 Showing space in a 2D drawing
  • 2.8.6.2 Perspective in painting -- 2.8.6.3 Cognitive perception by painters -- 2.8.7 The principles of design in art -- 2.8.7.1 Balance -- 2.8.7.2 Emphasis -- 2.8.7.3 Movement -- 2.8.7.4 Composition -- 2.8.7.5 Variety and contrast -- 2.8.7.6 Proportion -- 2.8.7.7 Unity/harmony -- 2.8.7.8 Analysis of artworks -- 2.8.8 Basic art concepts -- 2.8.9 Visual aspects of math, computing, and coding -- Chapter 3: Coding for Art -- 3.1 INTRODUCTION -- 3.2 CODE ART -- 3.2.1 ASCII art -- 3.2.1.1 A personal account -- 3.2.1.2 Portrait and still life as ASCII art -- 3.2.2 Landscape: A cherry tree -- 3.2.2.1 How does it work? -- 3.2.2.2 The code -- 3.2.2.3 What is 'this'? -- 3.2.3 Project: Map of winds -- 3.2.4 Wind visualisation -- 3.3 ABSTRACT ART -- 3.3.1 Introduction to geometric art with Python -- 3.3.1.1 Downloading and installation -- 3.3.1.2 Launching Python -- 3.3.1.3 Making and saving programs -- 3.3.2 Examples and experiments -- 3.3.2.1 n-pointed star -- 3.3.2.2 Recursive star -- 3.3.3 Adult colouring book series -- 3.3.4 MATLAB: Algorithmic generation of design patterns -- 3.3.4.1 autoxshapes -- 3.3.4.2 xshapes -- 3.3.4.3 How it works -- 3.3.4.4 Some qualifications -- 3.3.4.5 Under the hood -- 3.3.4.6 Challenges and projects -- 3.3.4.7 Getting the software and using MATLAB -- 3.3.4.8 Background -- 3.4 3D VISUALISER WITH JAVA -- 3.4.1 Simple wireframe tetrahedron -- 3.4.2 Filled coloured tetrahedron -- 3.4.3 Z-Buffered coloured tetrahedron -- 3.4.4 Cosine shaded tetrahedron -- 3.4.5 From tetrahedron to sphere -- 3.4.6 Changing 3D object to a box -- 3.4.7 Morphing object from spiky tetrahedron to sphere -- 3.4.7.1 Control frame -- 3.4.7.2 3D Object and draw method class -- 3.4.7.3 Canvas class -- 3.5 AUDIO DATA TO DRIVE 3D MORPHING ANIMATION -- 3.5.1 Basic sine wave generator -- 3.5.2 Basic sine wave-driven animation