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
LITTLE => ARTSPEAK   Written using

References:
  • Mullish, Henry; "The Art of Programming, ARTSPEAK", Courant Inst (Nov 1974). view details
  • Wardle, C. "ARTSPEAK: A graphics language for artists" Computer Graphics Volume 10, Number 1, Spring, 1976 view details Abstract: There is increasing interest in the use of computer graphics by artists. Graphics languages can be divided into several types, a common type being subroutine packages embedded in a high-level language. FORTRAN-coded EXPLOR and ALGOL-coded PICTURES fall into this category. Another approach is to implement a set of procedures designed for a particular application, an example of this being PDL-Picture Description Language which is intended for the computer artist. However, there are few high-level languages designed to facilitate the production of computer art, a recent exception being ESP3 which combines line drawing with pattern recognition. ARTSPEAK was designed to simplify programming for the inexperienced (and probably mathematically-naive) user. The language is simple but has all the characteristics of a high-level language. It contains a powerful curve generating feature which encourages “free-hand” drawings as well as geometric drawings. Extract: LANGUAGE DESCRIPTION
    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.
  • Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85 view details Extract: ARTSPEAK
    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