ARTSPEAK(ID:635/art003)Jacob T. Schwartz and Henry Mullish Courant Institute 1974 Caroline Wardle, Metropolitan College, ComputeScience Program, Boston Univ. Interactive graphics language for outputting creative images plotter graphics. Initially coded by Schwartz et al in FORTRAN, then rewritten by Wardle in LITTLE Places Related languages
References: LANGUAGE DESCRIPTION All instructions are concerned with defining and manipulating points, lines and curves on a l0 X l0 cartesian coordinate grid. Identifier names may be of any length, the first character being alphabetic and indicating the type of object referenced. An initial character of a V signifies a value, P a point, C a line or curve, L a label and S a subprogram. Basic values are decimal constants, basic points are ordered pairs of values, basic lines and curves are a specified function of points and values. ARTSPEAK statements are classified into 4 groups: definition, transformation, Input/output, and control. All statements are terminated by a seml-colon. 2.1 Definition statements Some sample definition statements are: LET VAB BE VALUE 6.5; LET P2A BE POINT (4,7); LET CLINEi BE LINE PA, PB, PC, PD, (5,8); LET CURVEA BE CURVE Pi, P2, P3, Vi//P4, (9,6),.6; SCALE 2; LET CIRCI BE CIRCLE CENTER (2,3) RADIUS.5; In the third statements, CLINEi is composed of the straight line segments connecting points PA, PB, PC, PD and (5,8) in that order, see Figure 1. In the fourth statement, CURVEA is composed of 2 segments, the first defined by P1, P2, P3, V1 and the second by // P4, (9,6), .6;. Considering the first segment P1, P2, P3, V1 the associated curve is defined as follows: Construct the triangle Pi, P2, P3 and the median from P2 to line Pi-P3. CURVEA is tangential to line P1-P2 at P1 and Line P2-P3 at P3, passes through a point on the median such that the ratio of this point's distance from the base of the triangle, P1-P3, to the length of the median is equal to the value V1 associated with the curve definition. A double slash indicated that the last point of the previous curve seKment is to be taken as the first point on the next segment. Hence the second segment of CURVEA together with its associated triangles. Similar patterns of curves may be constructed by varying the SCALE factor, as shown in the fifth statement. SCALE is normally unity and is used in all basic curve definitions such as: LET CURVEQ BE CURVE Pi, P2, P3, Vi. When this curve is drawn, the lengths Pi-P2 and P2-P3 are first multiplied by the current value of SCALE. Extract: Transformation statements Transformation statements Transformation statements are either arithemetic or geometric. Arithmetic statements apply to values and points only e.g. ADD (4.5, .5) TO POINTABC; MULTIPLY V1 AND V2 BY 2; Geometric transformations apply to points, lines and curves and include rotation, reflection and expansion about a point or line, and moving points along curves, e.g. ROTATE Ci AND C2 ABOUT (3,4) ANGLE 45; REFLECT CURVEA IN LINE Pi, P2; EXPAND CURVEB ABOUT PPA FACTOR VAL3; MOVE PAB AND PAC.X ALONG CURVEB BY .05; With reference to the fourth statement, the point PAB will be moved along the curve CURVEB an arc length distance of .05, the point PAC will be moved along the curve such that its X-coordinate is incremented by .05. Extract: Curves Curves The basic curve drawing facility of ARTSPEAK is one of the most powerful features of the language. Simple programs can produce interesting drawings, see Figures 5,6,7 and 8. Curves are not restricted to the basic type or circles, they include arcs and curve-fitting to a sequence of points, and may be a collection of aisJoint curves, e.g. LET C1 BE CURVE FITTING PA, PB, PC, PD; LET C2 BE ARC CENTER (1,5) START (2,5) ANGLE 10; LET C3 BE LINE P1, P2, P3; LET C4 BE CURVE C1 JOIN C3 PLUS C2; Curve C4 is defined to be the aggregate of the curve C1 and line C3 where PD (end of C1) and P1 ( start of C3) are Joined by a straight line, and the arc C2. Any transformation on C4 will be applied to its constituent components. Extract: Conclusion Conclusion Artists who have worked with ARTSPEAK were drawn to it because of its simplicity and ease of use. A subset of the language is powerful enough to generate a large set of interesting images. ARTSPEAK permits the artist to describe and manipulate objects that he understands. As Marshall McLuhan and Quentin Fiore noted in "The Medium and the Message":"Our time is a time for crossing barriers, for erasing old categories, for probing around. When two seemingly disparate elements are imaginatively poised, put in apposition in new and unique ways, startling discoveries often result." ARTSPEAK offers the artist different ways of thinking about objects and provides a medium for generating new ideas. A very simple language for drawing artistic diagrams on a plotter. Designed to introduce nonmathematically inclined students to computer programming. in SIGPLAN Notices 13(11) Nov 1978 view details |