What is the difference between 2D and 3D? 2D and 3D refer to the actual dimensions in a computer's workspace. 2D is 'flat', using the X & Y (horizontal and vertical) axis', the image has only two dimensions and if turned to the side becomes a line. 3D adds the 'Z' dimension. This third dimension allows for rotation and depth. It's essentially the difference between a painting and a sculpture.
The most familiar form of 2D animations can be found by watching Saturday morning cartoons with your kids, or even simpler animations every day when you surf the web. It takes on the forms of advertisements, e-cards, etc. The basic starting point for all animations is a storyboard that lays out the basic script in a visual format, much like an extra large comic strip. From that point a rough audio track of the script is created to give animators something to sync with their drawings. This form of animation uses "vector graphics," meaning that the images are based upon mathematical equations, rather than by an array of pixels, such as in "raster graphics." Although similar in some ways to 2D animations, 3D computer animation is a different process, as a scene being done in 3D is created long before any actual animation begins. Even in general terms, most people automatically think 3D when they are speaking or reading about computer animation, partly due to its flexibility. What many people do not realize is that the entertainment industry and specifically motion picture applications, while possibly being the forerunners in advancing technologies, only account for a fraction of the 3D animations market. Actually, there is very little difference between computer animation and what is called traditional animation. The main difference is the tools that are used to create animations, the effort and the price. Traditional 3D animation was more like claymations, and was done by using stop-motion filming techniques. Essentially, the true concept of 3D animations did not really catch on until the use of computers for animation became more cost effective and practical. Although the entertainment industry is largely responsible for the advances in 3D computer animation, they make up only a small part of the market that uses 3D animations. Animation designs sell products; it is also used as a teaching aide because it presents information in a more understandable way. Many animations can be created completely on a computer, but depending on the type of animation desired, such as cartoon animations, there may be the need for some hand-penciling work to be done.
2D and 3D Animation Basics •
2D Animation. 2D software uses images called bitmaps that consist of blocks of color stacked together to make a picture. The limitation is that only one angle can be seen at any given time.
•
3D Animation. 3D software uses computer-generated lines, surfaces, or solids to create 3 dimensional models. It is also a more difficult technique to perfect.
•
What It Means. While 3D animation gives a better image, cost and time constraints make 2D techniques a bit more attractive for most budgets.
3D Software Free 3D Software 3D Canvas 3dom Anim8or *Popular* Art of Illusion Aztec Blender *Popular* Calimax Modeller DeleD Lite Equinox3D GameSpace Light JTEdit K-3D Loq Airou MakeHuman (pre-alpha version) (New - added 2/2/06) Maya PLE Metasequoia LE Moonlight3D OpenFX OpenTeddy Pretty Poly Editor Wings3D 3D Software under $100 3D Canvas Plus & Pro AC3D Bryce CharacterFX DeleD Pro MilkShape 3D *Popular* World Creator 3D Software $100 to $1,000 3D Matrix Amapi Designer Amorphium Pro Carrera Cinema4D GameSpace Hash Animation Master LightWave 3D Modo Pixels 3D Plasma Poser Realsoft 3D
Shade Silo SketchUp Softimage|XSI Foundation Strata 3D TrueSpace ZBRUSH 3D Software $1,000 to $4,000 3D Studio Max *Popular* Electric Image Houdini Select Houdini Escape Maya Complete *Popular* Rhino3D Softimage|XSI Essentials 3D Software over $4,000 Houdini Master Maya Unlimited *Popular* Softimage|XSI Advanced 2D Software Free 2D Software ArtRage CinePaint GraphicsGale ImageForge Paint.NET (New - added 2/8/06) PhotoPlus Freeware Pixia The Gimp *Popular* Ultimate Paint 2D Software under $100 Corel DRAW Essentials Digital Image Pro GraphicsGale ImageForge Pro Lview Pro OpenCanvas Paint Shop Pro *Popular* PhotoFiltre Photogenics PhotoImpact PhotoPlus Photoshop Elements
PhotoStudio PhotoSuite Pixel32 ProMotion Texture Maker 2D Software over $100 Alias Sketchbook Pro (New - added 2/2/06) Deep Paint 2D Illustrator Mirage Painter Photoshop *Popular*
The Discrete Cosine Transform Introduction The discrete cosine transform (DCT) helps separate the image into parts (or spectral sub-bands) of differing importance (with respect to the image's visual quality). The DCT is similar to the discrete Fourier transform: it transforms a signal or image from the spatial domain to the frequency domain. With an input image, A, the coefficients for the output "image," B, are:
The input image is N2 pixels wide by N1 pixels high; A(i,j) is the intensity of the pixel in row i and column j; B(k1,k2) is the DCT coefficient in row k1 and column k2 of the DCT matrix. All DCT multiplications are real. This lowers the number of required multiplications, as compared to the discrete Fourier transform. The DCT input is an 8 by 8 array of integers. This array contains each pixel's gray scale level; 8 bit pixels have levels from 0 to 255. The output array of DCT coefficients contains integers; these can range from -1024 to 1023. For most images, much of the signal energy lies at low frequencies; these appear in the upper left corner of the DCT. The lower right values represent higher frequencies, and are often small - small enough to be neglected with little visible distortion.
Chapter 27: Data Compression
Run-Length Encoding
Data files frequently contain the same character repeated many times in a row. For example, text files use multiple spaces to separate sentences, indent paragraphs, format tables & charts, etc. Digitized signals can also have runs of the same value, indicating that the signal is not changing. For instance, an image of the nighttime sky would contain long runs of the character or characters representing the black background. Likewise, digitized music might have a long run of zeros between songs. Run-length encoding is a simple method of compressing these types of files. Figure 27-1 illustrates run-length encoding for a data sequence having frequent runs of zeros. Each time a zero is encountered in the input data, two values are written to the output file. The first of these values is a zero, a flag to indicate that run-length compression is beginning. The second value is the number of zeros in the run. If the average run-length is longer than two, compression will take place. On the other hand, many single zeros in the data can make the encoded file larger than the original. Many different run-length schemes have been developed. For example, the input data can be treated as individual bytes, or groups of bytes that represent something more elaborate, such as floating point numbers. Run-length encoding can be used on only one of the characters (as with the zero above), several of the characters, or all of the characters. A good example of a generalized run-length scheme is PackBits, created for Macintosh users. Each byte (eight bits) from the input file is replaced by nine bits in the compressed file. The added ninth bit is interpreted as the sign of the number. That is, each character read from the input file is between 0 to 255, while each character written to the encoded file is between -255 and 255. To understand how this is used, consider the input file: 1,2,3,4,2,2,2,2,4, and the compressed file generated by the PackBits algorithm: 1,2,3,4,2,-3,4. The compression program simply transfers each number from the input file to the compressed file, with the exception of the run: 2,2,2,2. This is represented in the compressed file by the two numbers: 2,-3. The first number ("2") indicates what character the run consists of. The second number ("-3") indicates the number of characters in the run, found by taking the absolute value and adding one. For instance, 4,-2 means 4,4,4; 21,-4 means 21,21,21,21,21, etc.
An inconvenience with PackBits is that the nine bits must be reformatted into the standard eight bit bytes used in computer storage and transmission. A useful modification to this scheme can be made when the input is restricted to be ASCII text. As shown in Table 27-2, each ASCII character is usually stored as a full byte (eight bits), but really only uses seven of the bits to identify the character. In other words, the values 127 through 255 are not defined with any standardized meaning, and do not need to be stored or transmitted. This allows the eighth bit to indicate if run-length encoding is in progress.