TweetFollow Us on Twitter

Art
Volume Number:3
Issue Number:2
Column Tag:Fun With A Mac

Random MacArt in Basic

By Amy Barger, Waunakee, WI

Random MacArt is an MS Basic program which creates catchy modern art designs. Each design is unique and exciting with a general movement expressed. These designs can be created almost instantaneously and have many potential uses for decorating, entertainment, and experimentation. Figure 1 shows a design created by Random MacArt.

Fig. 1 Our random art program in Basic

Using Random MacArt

Random MacArt is an easy program to use. To create a design, press COMMAND R and watch the random designs appear; the computer screen will seem alive! Each design will finish on its own. After you have admired or printed the design, click the mouse button once and a fresh new design will appear. When you have created all the designs you want, you can save or print them. To save a design, type COMMAND SHIFT 3. This saves the screen. In order to print a design, make sure the printer is on, then type COMMAND SHIFT 4. This will print the active window. Stopping or listing the program follows the normal MS Basic conventions.

How Random MacArt Works

The program is simple to understand. We will begin with the first line and go through the program. RANDOMIZE TIMER bases random numbers according to the time on the Macintosh's internal clock. If you were to use this program again at exactly the same time that you had used it on a previous day, so that the clock reading was the same, the same design would be created. You will most likely never get the same design twice.

DIM shows the highest number of elements in the array specified in the statement. In this program it is set to 10 for both x and y. The DIM statement is really not necessary here because a maximum value of 10 is always assumed for an otherwise unspecified subscript, but it is good practice to routinely use DIM statements.

In order for designs to be created one after another without having to rerun the program each time, a loop is used. When the computer gets to the last line of the program, the statement GOTO loop instructs it to return to the line with the statement "loop".

The WINDOW statement opens a window on the screen within which the design will be drawn. The window-ID, one in this case, specifies the window's identification number. The commas show that there is no title for this window. (If there had been, it would have been in quotes between the two commas.) The numbers in parentheses specify the window size. The x values for this window are 10 and 502, and the y values are 26 and 332. Following the comma, the number three indicates that the type of window desired is an one-line border window.

Following the WINDOW statement is a FOR/NEXT loop that is used in determining ten random values of x and y, labeled as x(n) and y(n). The statements in the loop are executed with n increasing by one each cycle. RND(1) returns a random number in the range of 0 to 1. For x, the random number is multiplied by 440, and for y, by 254. INT converts the numbers into integers, and then two is added to each. These latter steps insure that the design is drawn within the window's border. NEXT n forms the loop. After ten iterations the loop is exited.

Next, nested FOR/NEXT loops are used to create the design based on the array of random x(n), y(n) values generated previously.

The LINE statement draws a straignt line between the coordinates pairs (x(n-1)+s*4), (y(n-1)+s*4) and (x(n)+s*4), (y(n)+s*4). For example, with n=0 and s=0 the statement becomes LINE (x(1),y(1))-(x(2),y(2)). NEXT n forms a loop so that the successive points will be connected. The LINE statement following NEXT n connects the last point with n=10 back to the first point with n=1.

Without the FOR/NEXT loop on s, the design would look flat and simple. On every pass through the s-loop an identical design is created with (x,y) points displaced four pixels away from the previous design. By the time the loop is completed the result consists of 13 superimposed designs.

The WHILE/WEND loop allows the user to view the design until the mouse button is depressed. MOUSE(0) is the state of the mouse button, with MOUSE(0)=0 indicating that the button has not been clicked and MOUSE(0)=-1 indicating that it has been. When the user clicks the mouse the WHILE statement will end with the WEND. (WEND means WHILE end). The colon allows two separate statements to be entered on one line. The CLS line clears the screen and the last line returns to "loop" to start a new design.

Possible Modifications To Improve Random MacArt

When you have tried the program and printed out some intricate designs, the next step is to experiment. If you would like your designs to have more sides to make them appear even more complex, or smaller to make them appear simpler, the number of random numbers to be chosen can be changed. Remember that if you increase the number of random numbers to be used, the DIM statement must also be increased. If you would prefer a larger or smaller screen, the window size numbers in the parentheses can be altered. Three other types of windows can be obtained by changing the number three after the parentheses to one, two, or four. Try altering the numbers which are multiplied and added to the random numbers. This will position your designs in different parts of the screen and make your designs larger or smaller. The distance between each line of your designs can be altered by changing the value the variable s is multiplied by. To create more or less lines, change the value of the variable s. As you can see the possiblities of this program are endless! Have a good time and experiment freely to make the most interesting designs possible. Try running this under the new compiler and see if you can notice any speed improvements.


RANDOMIZE TIMER
DIM x(10),y(10)

loop:
WINDOW 1,,(10,26)-(502,332),3
FOR n=1 TO 10
    x(n)=INT(RND(1)*440)+2
    y(n)=INT(RND(1)*254)+2
NEXT n

FOR s=0 TO 12
    FOR n=2 TO 10
        LINE (x(n-1)+s*4,y(n-1)+s*4)-(x(n)+s*4,y(n)+s*4)
    NEXT n
    LINE (x(10)+s*4,y(10)+s*4)-(x(1)+s*4,y(1)+s*4)
NEXT s

WHILE MOUSE(0)=0:WEND
CLS
GOTO loop
 

Community Search:
MacTech Search:

Software Updates via MacUpdate

calibre 2.17 - Complete e-library manage...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital librarian... Read more
OmniGraffle Pro 6.1.2 - Create diagrams,...
OmniGraffle Pro helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use... Read more
OmniGraffle 6.1.2 - Create diagrams, flo...
OmniGraffle helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use Graffle to... Read more
RoboForm 2.0.2 - Password manager; syncs...
RoboForm is a password manager that offers one-click login, mobile syncing, easy form filling, and reliable security. Password Manager. RoboForm remembers your passwords so you don't have to! Just... Read more
Apple MainStage 3.1 - Live performance t...
Love the sound you got on your recording? MainStage 3 makes it easy to bring all the same instruments and effects to the stage. Everything from the Sound Library and Smart Controls you're familiar... Read more
Freeway Pro 7.0.2 - Drag-and-drop Web de...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With its user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
A Better Finder Rename 9.44 - File, phot...
A Better Finder Rename is the most complete renaming solution available on the market today. That's why, since 1996, tens of thousands of hobbyists, professionals and businesses depend on A Better... Read more
Stacks 2.6.9 - New way to create pages i...
Stacks is a new way to create pages in RapidWeaver. It's a plugin designed to combine drag-and-drop simplicity with the power of fluid layout. Features: Fluid Layout: Stacks lets you build pages... Read more
Sid Meier's Civilization: Beyond Ea...
Sid Meier's Civilization: Beyond Earth is a new science-fiction-themed entry into the award-winning Civilization series. Set in the future, global events have destabilized the world leading to a... Read more
Logic Pro X 10.1 - Music creation and au...
Apple Logic Pro X is the most advanced version of Logic ever. Sophisticated new tools for professional songwriting, editing, and mixing are built around a modern interface that's designed to get... Read more

Choice Provisions is Set to Launch Destr...
Choice Provisions is Set to Launch Destructamundo on iOS This Month Posted by Tre Lawrence on January 23rd, 2015 [ permalink ] Choice Provisions – home stable to | Read more »
King of Thieves – An Interview With Zept...
Ahead of the release of ZeptoLab’s King of Thieves, we were able to ask ZeptoLab’s co-founder, Semyon Voinov, a few questions about the inspiration behind the game and what that means for the Cut the Rope franchise. | Read more »
Handle Review
Handle Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: SPEEDY ORGANIZINGUniversal App - Designed for iPhone and iPad Handle is a very convenient way of juggling your emails, To Do list, and Calendar all through one... | Read more »
The New Disney Inquizitive App Offers a...
The New Disney Inquizitive App Offers a Place for Fans to Take Disney Quizzes Posted by Tre Lawrence on January 23rd, 2015 [ permalink ] | Read more »
Hands-On With Cut the Rope Developer Zep...
Marking quite a departure from ZeptoLab’s past successes, namely the Cut The Rope series, King of Thieves is shaping up to be quite promising. Due for release in February, we were lucky enough to have some time with a preview build to see exactly... | Read more »
Fast Fishing Review
Fast Fishing Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: LIVES UP TO ITS NAMEUniversal App - Designed for iPhone and iPad Fishing is far from relaxing in Fast Fishing, but it is fun.   | Read more »
The LEGO Movie Video Game is Available N...
The LEGO Movie Video Game is Available Now for iOS Posted by Ellis Spice on January 23rd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Satellina Review
Satellina Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: TWITCHY BUT TACTICALUniversal App - Designed for iPhone and iPad Satellina requires quick thinking and twitchy fingers, and it’s pretty fun.   | Read more »
Tail Drift, the Crazy 360 Degree Flyer,...
Tail Drift, the Crazy 360 Degree Flyer, Has Gone Free-to-Play in a New Update Posted by Jessica Fisher on January 22nd, 2015 [ permalink ] | Read more »
PureSkate 2 Review
PureSkate 2 Review By Tre Lawrence on January 22nd, 2015 Our Rating: :: ALMOST ALL AIRUniversal App - Designed for iPhone and iPad PureSkate 2 lets one’s fingers do the skateboarding.   | Read more »

Price Scanner via MacPrices.net

College Student Deals are back, additional $5...
Take an additional $50 off all MacBooks and iMacs at Best Buy Online with their College Students Deals Savings, valid through April 11, 2015. Anyone with a valid .EDU email address can take advantage... Read more
iPhone 6 and 6 Plus GIve Apple Half Of US Mob...
Chicago-based Consumer Intelligence Research Partners, LLC (CIRP) have released analysis of the results of its research on mobile phone manufacturers for the calendar quarter that ended December 31,... Read more
Save $100 on MacBook Airs with 256GB of stora...
B&H Photo has 256GB MacBook Airs on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 11″ 1.4GHz/256GB MacBook Air: $999 $100 off MSRP - 13″ 1.4GHz/256GB MacBook... Read more
21-inch 2.7GHz iMac on sale for $1179, save $...
B&H Photo has the 21″ 2.7GHz iMac on sale for $1179 including free shipping plus NY sales tax only. Their price is $120 off MSRP, and it’s the lowest price available for this model from any... Read more
iPhone Usage Rates by State Correlate With Ed...
Chitika Insights notes that despite iPhones being the largest source of smartphone Internet traffic in North America, their latest study finds a relatively high degree of variation of iPhone usage... Read more
ProGearX Extendable Pole “Pov/Selfie Stick” M...
There’s something inescapably narcissistic about the concept of selfies as they’ve developed as a smartphone-driven social (particularly social media) phenomenon that rubs me the wrong way. However,... Read more
iPad Air 2 on sale for up to $100 off MSRP, 2...
 Best Buy has iPad Air 2s on sale for up to $100 off MSRP on their online store for the next two days. Choose free shipping or free local store pickup (if available). Sale prices available for online... Read more
Roundup of Apple refurbished MacBook Pros and...
The Apple Store has Apple Certified Refurbished 2014 MacBook Pros and MacBook Airs available for up to $400 off the cost of new models. An Apple one-year warranty is included with each model, and... Read more
Sale! 13-inch 2.8GHz Retina MacBook Pro for $...
 B&H Photo has the 13″ 2.8GHz Retina MacBook Pro on sale for $1599 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price available for this model... Read more
Next OS X/iOS Version Upgrades Should Concent...
On stage at Apple’s World Wide Developers’ Conference in June 2009, Bertrand Serlet, the company’s Senior Vice President of Software Engineering at the time, announced that the forthcoming OS X... Read more

Jobs Board

*Apple* Solutions Consultant (ASC)- Retail S...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
*Apple* Lead Operator, GSOC - Apple (United...
**Job Summary** Apple is seeking an exceptional, customer service oriented and experienced persons to fulfill the role of Apple Lead Operator (ALO) as part of the Read more
Order Support Supervisor- *Apple* Online Sto...
**Job Summary** The Apple Online Store (AOS) Order Administration team is looking for an Order Support Supervisor to manage and lead a team of Specialists through the Read more
Senior Program Manager, *Apple* Online Supp...
**Job Summary** The Apple Online Support Planning team is looking for an experienced Senior Project Manager to lead key Quality program initiatives across the Online Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.