Unformatted text preview:

AJYN Programming Language PLT Final Report Professor Stephen Edwards Group JAYN Jared Kennedy Ananya Das Yaniv Schiller Neel Goyal May 13 2003 1 Table of Contents 1 Introduction 3 2 Language Tutorial 5 3 Language Manual 10 4 Project Plan 17 5 Architectural Design 19 6 Test Plan 23 7 Lessons Learned 30 8 Appendix 32 2 Introduction AJYN Introduction and Overview For the past few years certain companies have dominated the marketing in graphic animations For years Macromedia has been developing their Flash product making them the market leader in easily distributed movie animations These files are greatly complex and allow for all sorts of unique easy to use animations However due to the complexity of the design we find that Flash files are hard to develop The Ajyn programming language will provide an easy to use Object Oriented interface to allow for quick comprehensive development of complex graphic designs and animations Object Oriented Design It is important for our language to be object oriented in application for ease of handling various graphics functions By declaring each graphics primitive as a separate object be it a square or an ellipse the user can keep track of a single object throughout the code and transform or manipulate various graphics objects through the course of the program Furthermore by using object oriented design it is possible to group many lesser objects together to create a parent object composed of many primitives For instance if a user wants to create a snowman object and move it around the screen this can be done easily by creating an object composed of three circle primitives and grouping them together based on either their relative or absolute positions into one object If the design was not object oriented to move the snowman the user would need to keep track of the three independent circles through using nested loops or create a polygon resembling the shape of the snowman Therefore the main purpose of using object oriented programming is to make and manipulate grouped graphics objects with ease Positioning Objects are positioned based on an x y scale which places the origin at the upper left corner of the window Moving rightwards from this point increases the values on the xdirection and moving downwards from this point increases the values on the y direction AJYN Objects ellipse rectangle point line polygon Animation techniques translation rotation scaling Additional AJYN Features Grouping various objects may be grouped together to form a single unit 3 Hiding Objects an object can be set as invisible for a specified number of frames Animation With the continuing growth of the internet and computer graphics the popularity of animation is mounting Computer animation can be found all over the world wide web in computer games and in many of the everyday programs we use Companies such as Macromedia have created graphical programs which allow users to create complex animations AJYN presents another approach to computer animation The AJYN programming language allows users to program animations One of the most valuable properties of AJYN is its easy to use animation techniques AJYN s object oriented design can make complex animations relatively straightforward Animation techniques include translations rotations and size adjustments We may use one of these techniques alone or we can combine techniques to perform more complex animations Procedures In order to create an animated AJYN program we must first decide which of the three animation techniques are necessary to employ For example suppose we wished to create a Ferris wheel We would need to utilize the rotation technique We begin by creating an ellipse to create the actual Ferris wheel We then use the rotation transformation on our ellipse object When using the rotation function we are required to specify three elements of data 1 the number of degrees of rotation 2 the start frame at which the rotation should begin 3 the stop frame at which the rotation should end Ouputting to swf Files In order to compile the actual animation file AJYN uses an open source project knows as Ming Ming which is located on Sourceforge replaced Macromedia in creating an open source API for swf files Ming written in C comes with extensions for Java PHP and C The backed application of AJYN accepts a file containing the intermediate representation and then uses Ming to compile the actual animation file 4 Language Tutorial Writing an program in AJYN AJYN is a very straightforward language with few commands to remember to create complete and colorful animations Before getting into the syntax of the language lets go over some basic things to remember while programming with AJYN First one begins a program by declaring a program name screen size and number of animation frames Then one declares the shape objects that are going to be used in the scene Colors are specified by declaring a new color and all shapes declared afterwards are displayed using that color Declaring groupings comes after declaring shapes Once the elements of the scene are setup then one can transform them over a series of frames to create an animation and hide objects for certain frames Now that we have quickly covered the flow of a program lets look at the syntax of the language and see how we actually design an animation in AJYN Starting a program We start a program using a declaration that gives the program a name a screen size and a total number of frames Suppose we want to design a clock We could name the program Clock give it a screen size of 500 pixels by 500 pixels and have a total frame count of 2160 frames The declaration would look like Program Clock 500 500 2160 Here we can also see an important element of all declarations in AJYN They all must end in a semicolon Declaring shape objects with colors Now that we have instantiated a program lets continue by declaring various objects with different colors There are five primitive shape objects that can be declared Furthermore one can declare these to be of any color on the RGB scale A color declaration looks like ActiveColor 0 0 255 This has just declared the color to be blue Any object that is declared below this color declaration will be blue until an new color is declared RGB values range from 0 to 255 so one cannot declare a color with a negative value or greater than 255 Lets now make a blue point with the point declaration and name the point Point1 Lets place this point in the center of the scene


View Full Document

Columbia COMS W4115 - AJYN Programming Language

Documents in this Course
YOLT

YOLT

13 pages

Lattakia

Lattakia

15 pages

EasyQL

EasyQL

14 pages

Photogram

Photogram

163 pages

Espresso

Espresso

27 pages

NumLang

NumLang

6 pages

EMPATH

EMPATH

14 pages

La Mesa

La Mesa

9 pages

JTemplate

JTemplate

238 pages

MATVEC

MATVEC

4 pages

TONEDEF

TONEDEF

14 pages

SASSi

SASSi

16 pages

JTemplate

JTemplate

39 pages

BATS

BATS

10 pages

Synapse

Synapse

11 pages

c.def

c.def

116 pages

TweaXML

TweaXML

108 pages

Load more
Loading Unlocking...
Login

Join to view AJYN Programming Language and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view AJYN Programming Language and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?