Preview
ISSUE #2 ---------------------------------------- Page No. ##
------------ Contents Page ------------
----- Demo Reviews by NOSAH of DCS -----
---------- Classified Adverts ----------
------ Kreators Coding-Help Page -------
- An Introduction to Amiga Demo-Coding -
---------- Computer Addiction ----------
---------- Freephone numbers ----------
------- Count Zero's Amiga Quiz --------
MF Party Report and Interview - Mr BIG
----------- Vector graphics -----------
---------------------- STOLEN DATA Issue #2 -----------------------
A TRISTAR - DCS - ANARCHY CO-PRODUCTION
Shortcut-Page Title Author
~~~~~~~~~~~~~ ~~~~~ ~~~~~~
F1 - 1 Contents --
F2 - 2-4 Demo Reviews Nosah - DCS
F3 - 5-6 Computer Addiction Parell-axe - Alienation
F4 - 7 Freephone Numbers Count Zero - Alienation
F5 - 8-9 Quiz Count Zero - Alienation
F6 - 10 Classified Adverts --
F7 - 11 Letters to Kreator Kreator - Anarchy
F8 - 12-15 Magnetic Fields Party Report Mr Big - Anarchy
and interview with No 5
F9 - 16-17 Beginners guide to coding Kreator - Anarchy
F10 - 18-20 More advanced topics - 3D vectors Kreator - Anarchy
Keep those articles and letters coming in, we need your help to make this
Magazine successful. Thanks also to everyone who has written in with views
on the first issue, if you feel the magazine lacks something, or you think
you can improve it in any way please write to either address below .
NOSAH (DAVE) MICHAEL (KREATOR)
99 St. LUCIA PARK, 42 BROWFIELD TERRACE,
BORDON, SILSDEN,
HANTS KEIGHLEY,
GU35 OLD, W.YORKS, BD20 9PT,
ENGLAND. ENGLAND.
By the way this awesome music is by 4-MAT, press DEL to toggle text-colour
------------------ The Demo Reviews ------------------
------------ By NOSAH - DCS ------------
For all the demo worshippers out
there, here is the demo review page.
This is where demos released since the
last issue of the mag will be looked
at and if worthy they will be rated
and possibly included on the disk.
This page is being done by Nosah coz
Frapp and myself didn't agree fully on
certain aspects. I hope there are no
hard feelings Frapp. Let's kick off
then with the demos which have climbed
to the top this time.
FOLLOW ME - RED SECTOR
----------------------
Dave-I know that this demo is actually
a bit dated now, but it was release
after issue 1 of S.D. So I've included
it here.I would rate it most certainly
as one of the best demos released
since issue 1. It is up to Red Sector
standards
The graphics used in the demo are
superb, and the skeleton which is
beckoning to you out of the screen is
quite stunning.Occasionaly an animated
aircraft will fly from the horizon to
the front of the screen accompanied by
appropriate sound effects. There is a
large RS logo at the top of the screen
which can be toggled out to reveal the
obligatory scroll text.
One of the major points about this
demo is the music composed by Romeo
Knight, it's brilliant and very
atmospheric. Check this demo out, it's
on the disk.
Kreator - I'm only going to say a few
words here. The demo is in fact based
on the album cover 'Peace Sells ...
But Who's Buying' by Megadeth, right
down to the logo style.As Megadeth are
one of my fave bands,full marks there.
Coding wise the demo is relatively
simple, but the combination of great
graphics and impressive sonics from
Romeo Knight make this a demo worth
watching.
VECTORS 1990 - REBELS
---------------------
Dave - First of all I think it is only
right to say that the similarity
between this demo and SEVEN SINS from
Scoopex Finland is very noticable.Even
the music is similar. However, I still
have to say that it is a worthy piece
of work, with some improvements made
over the demo it is emulating.There is
outstanding use of bobs and vectors,
including a really nice screen of bobs
which make up a solar system, very
colourful too.All displays are imposed
over the all too often present star
field, with the screen size being
reduced slightly by the introduction
of two grey colour bars. In this demo,
the Bobs/Vectors are not faded out as
they change, instead a nice touch has
been added where the lower colour bar
moves up to wipe the screen clear and
then lowers to reveal the next routine
..Nice. The music isn't too great but
it's a good demo.
Kreator -The bobs in this demo all run
on a full 32 colour screen, which
deserves some commendation. This
results in some very good looking
objects. Another point in their favour
is the complete absence of a scroller,
and the most suprising fact of all,
this demo is just over 70 k in length!
I agree entirely with Dave's selection
of this demo.
THE ROOM - FAIRLIGHT
--------------------
Dave - Quite a novel demo I thought. A
great tune is playng while you watch
some raytracing done in the centre of
the screen (The Room) above and below
this is an unusual "ripple" effect. I
don't know what it is, I just like it.
Kreator - Great demo to watch,
interesting use of sprites(I think!)to
create a solid 3D cube bouncing round
the room, well done Celebrandil !
Well there have been quite a number
of demos released recently, here are
some of them ....
Megademo-Predators>>Some great parts
in this demo from New Zealand, well
worth checking out if only for the
music (2 Disks ).....Megademo-Vision>>
This is yet another megademo from them
but some good grafix from a new member
..... Partytime-Slipstream >> It's
basically a number of digitised pics
from the Bournemouth party which are
displayed progressively,there are bobs
and logos displayed over the pics, but
they appear only as shadows,which adds
to the effect of the pics which are in
B/W. Coded by Andi (Nice one).....
Landscape-Mode D >>An unusual one this
it is displaying ( in framework form )
a landscape which is continuously
changing shape and rotating , great
music.....Rebellion-Network >>What can
I say, some of the best music I have
ever heard on the AMIGA, all coded
by 4MAT. Don't expect to see any great
artwork coz there are no grafix...Hit
the Road-Flash Prodution ( its a
megademo), This one was made for the
Upfront party in Denmark, It contains
some excellent music and artwork and
is a real team effort with all members
of the group contributing.......
Vectorstuff-IT >> Another one produced
for the Upfront party, this demo
contains an absolutely fantastic tune
and some really good vector stuff,
from Norways best !!.... VectorBalls-
Arcadia >> A powerful tune and some
nice multicoloured balls moving and
rotating....
Please send your demos for review to
the address on the contents page.
Now for a couple of adverts
--------------------------------------
If you want to buy or get the latest
AMIGA wares then contact
-- VISION FACTORY --
Write to
( NO NAME !! )
PLK 021362 C
2300 KIEL 1
WEST GERMANY
--------------------------------------
The UNTOUCHABLES are looking for
additional members, only the best will
be accepted - Contact the UTB HQ
SPIRAX - UTB
38 MARTON DRIVE
BILLINGHAM
CLEVELAND
TS22 5BA
--------------------------------------
Computer and Televison Addiction
--------------------------------
By Parell-axe of Alienation
In a world of rapidly advancing
knowledge into the electronical envir-
onment, we find ourselves amongst a
slight, but noticable problem.
The problem as I am sure you are
aware is that of people sitting in
front of screens either watching
people or looking at Sprites and
Bobs wizzing around the screen at high
speeds.
Something that you cannot resist
yourself from doing is called an
addiction. In this case it is
TELEVISION and COMPUTER ADDICTION.
Most of us just sit in front of our
Amiga`s to play games, some sit to
watch demo`s, some use utilities to
achieve certain goals and some use
their Amiga`s to write tremendous
amounts of code so that other people
can see what they are capable doing
within an assembler. Whatever the
reason is, that you sit in front of
your Amiga, some of us are aware that
we are unable to pull ourselves away
from this almighty machine, and some
people think that addiction does not
exist. Well it does!!!!
About 50 per cent of the people who
own a computer use it at least one
hour a day. 30 per cent use their
computers at least Two and-a-half
hours a day and 20 per cent use their
computer more that 3 hours-a day. This
means that an average person out of
the 50 per cent group who has a
computer from the age of 7 (lets say
he`s got an Atari....R.I.P) spends 336
hours or 14 DAYS in front of his
computer per year. So by the time he
is 40 he would have spent 11088 hours
or 462 days or 1 year and 97 days of
his life staring despondently at a
screen of some sort. WOW!!!
With computers it`s mainly the same
things you see, demos,utilities, games
but television is a much bigger threat
to the way that we live. With the
introduction of Cable and Satellite
TV we now have the option of many more
channels and a much wider option of
what we watch. You now have the option
to see Opera, Sport, Continuous Films,
Non stop Music and you can even order
shopping through the T.V. So it`s no
wonder that we are becoming more
dependant on the square screen in the
corner of our living rooms.
Since we can watch sport instead of
participating in it and we can get
shopping instead of going out to the
shops to get it, we are using less and
less energy.In turn this unused energy
is stored as fatty deposits aroung the
walls of the arteries. If one of these
arteries is block or made smaller by
these deposits, a number of hazardous
effects can arise. e.g Heart Disease
or even Heart Attacks.
Televisions also give off minute
amounts of radiation, and over the
years these minute pieces of radiation
can amount into enough to start a
chain reaction in the cancer cells
within each human`s body. So what it
really means is that if you watch too
much T.V or use computers too much,you
will either turn into a mass of fat or
you will eventually become a fleshless
computer user as you begin to rot away
as a result of over using your
fingertips and under using your brain
and muscles for something more
strenuous like sport.
I use my computer well over 5 hours
a day and I couldn`t careless if I rot
away as a result of using my beloved
Amiga too much, at least I`ll rot away
doing something that I enjoy. So my
advice to all you computer and tele-
addicts out there is......Sod everyone
else....Do what you want to do and If
they don`t like it...Tell them to suck
on it.
If you want to contact ALIENATION then
write to:
233 Heronswood Road
Welwyn Garden City
Herts Or Phone
AL7 3JH (0707) 326547.
ENGLAND Ask for Phil
CODERS, GRAPHICS ARTISTS, MUSICIANS
SWAPPERS NEEDED.
Kreator - Thanks Phil for that article
Sorry, it arrived too late for Dave to
include it in the paper mag.
INTERESTING FREEPHONE NUMBERS !
LIST COMPILED BY:
COUNT ZERO OF ALIENATION
ALL NUMBERS ARE PRECEDED BY 0800 89 FOLLOWED BY FOUR DIGITS:
HOLLAND-------------------------8427
JAPAN---------------------------5523/5526/5512
AUSTRALIA-----------------------5654/0022/9991/5619/7101/9600
AMERICA-------------------------1381/1382/1313/1837/0211/2028/1135/5534/3030
AMERICA (OPERATORS)-------------1395/0011/1594/3270
CANADA--------------------------3131/3426/1024
SWITZERLAND---------------------4517/7101
HONG KONG-----------------------5793/0852/5761/5511
FRANCE--------------------------0033/44
AIRLINES------------------------1000/2000/5555
COMPUTER------------------------5566
All these numbers are freephone 0800 numbers,so dont worry about your phone
bill, and as far as I know all of them are still operative, but the countries
names may not be correct.
The reason they exist is so that legitimate users can phone them for free,and
the company on the other end pays for the call, the CANADA 3426 number should
put you through to Bell Phone Co.AMERICA 3030 should be the New York Stock
Exchange !!
Remember that International calls take 15 - 20 seconds to connect.
This Info was brought to you by COUNT ZERO OF ALIENATION !!,Another exclusive
for the best disk mag around - STOLEN DATA !
-------------------------------------
------------- Count Zero's Quiz -------------
----------------- -----------------
------------- Questions -------------
-------------------------------------
1. What does 'Amiga' mean in spanish ?
2. The British TV system is called P.A.L.,what does it stand for ?
3. The American TV system is called N.T.S.C.,what does this stand for ?
4. What will the 1.4 Operating System not have ?
5. How many pins on your external disk drive port ?
6. What is the fastest Modem the Amiga can Support ?
7. ROM routines begin at what address in memory ?
8. Name two ways to phone America for free !
9. How mant bitplanes does a Hold-And-Modify picture use ?
10. Quartex use the lyrics from which music group in their messages ?
11. What is the most amusing advert seen in computer mags recently ?
12. What combination of keys give you the pound sign ?
13. What does WYSIWYG stand for ?
14. How do you know if your local exchange is digital ?
15. EPROM stands for what ?,and what is it usefull for doing ?
16. What is the interface called on the side of your machine ?
17. What CPU did the Commodore 64 use ?
18. What two books are the best for learning to code ?
19. What does custom register DIWSTRT control ?
20. Count Zero is a book written by whom ?
-------------------------------------
------------- Count Zero's Quiz -------------
----------------- -----------------
------------- Answers -------------
-------------------------------------
1. Amiga means 'Female Friend' in Spanish
2. PAL stands for Phase Alternating Line
3. NTSC stands for National Television Standards Committee
4. No Software Failures (Guru's) !!
5. 23 pins
6. 19200 bps
7. ROM starts at Hex F80000
8. Phone 0800 89 0011 / or use someone's AT & T card !
9. HAM uses 6 bitplanes
10. Quartex like Pink Floyd lyrics (so do I)
11. The advert trying to discourage software piracy
12. Press 'Alt' and L to get the pound sign
13. What You See Is What You Get
14. Your phone will make audible tones when you dial a number
15. Electronically Programmable Read Only Memory-Good for pirating cartridges
16. The S.C.S.I. Interface (Small Computer Systems Interface)
17. The 64 used a 6502 CPU
18. The Amiga Hardware Reference Manual and The Systems Programmers Guide
19. DIWSTRT controls where the playfield screen starts
20. William Gibson,published by Grafton
Okay,Thats all Folks,
Count Zero
------------------------------------------------------------------------------
------------------------------------------------------------------------------
In case you are not in possession of the accompanying STOLEN DATA paper
magazine, this is what you're missing,
An Interview with DEL of SAE ( now MAYHEM !!! ),
Interview with PORSCHE of the NUKEBUSTERS,
A profile of RED SECTOR,
Interview with IRATA of RED SECTOR,
Gossip,
Party report from the UPFRONT-TRILOGY-DOMINATORS party,
Report on the VENLO Meeting,
Intro to the CE BIT Show,
Demo Reviews,
Judge Drokk cartoon strip,
Dear Mr Drokk,
The Charts,
A great SILVER cartoon,
Lots more great artwork,
And a brilliant front cover by BRADY of WOT
And what does it cost for this enlightenment, only 30p + SAE if you live
in the UK ( Bank-Note in your own currency nearest to 1 pound sterling
+ Disk for the disk magazine )
So get those orders sent in now, and don't forget issue Three of your
favourite magazine is due for release approx. 30th MARCH.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--------------- The Coders Section ---------------
----------- By Kreator -----------
------- Help - Page -------
KREATOR,
I have only been coding for about
a month, and when I recieved STOLEN
DATA disk mag off a contact I decided
to read the section on bobs,but I soon
found that it was mostly incomprehen-
sible.
So how about something which
myself and other apprentice coders
might be able to grasp ?, like how to
do a scrolly, detailing what needs to
be done, how to do it, and some source
code included on the disk.
I think this would be a more
logical progression than starting with
probably the most complicated subject,
like blitter objects, and would help a
lot more guys like me who are just
starting to code.
From
The Neuromancer !!
--------------------------------------
Neuromancer,
Your wish is my command, you will
see that in this month's issue I have
split the Coding section into a
beginners and a more advanced section.
--------------------------------------
Yo Man !
It would be cool to see some
sinus-scroller sources in your great
mag !
Bye Signed Jarno
--------------------------------------
Jarno,
This issue's coding section was
already written when I received your
letter. However I'll see what I can do
for issue 3, sounds like a good idea.
--------------------------------------
MAGNETIC FIELDS Select Party 3rd - 4th Feb 1990
-----------------------------------------------
Hammer,Judge Drokk,and myself (Mr-Big)
arrived in Doncaster at around 4pm. We
expected to be at a big hall when we
arrived but it was just an ordinary
house.As we walked towards the door we
could hear lots of noise from inside.
we knocked and all was silent,the door
opened and we were greeted by a
familiar face, it was Frap of M.F. and
he said "oh no, its Anarchy !" at that
point the noise level started to pick
up again.We were now in a medium sized
living room,packed to the rafters with
people. There must have been 60 people
in this small box.
We pushed our way through to a
clearing and started to set our gear
up, (which was kindly brought along by
Mnemonic of the Untouchables) all
around there were people who I
recognised.Well who was actually there
: Oracle, Paradox UK, Acme, Acidforce,
Illusions UK, Inner City, Mercenary,
and of course Magnetic Fields.
The entrance fee to this party was
only a quid (reasonable) and beer and
soft drinks were available at the bar.
Food was ordered from the local Pizza
Hut and was promptly delivered. At
around 8pm at lot of guys had cleared
out, this gave us a chance to copy all
the latest cracks,which had been down-
loaded all day by a good mate of mine
'Annialator of Oracle'.
Things were beginning to slow down
now, we were putting our finishing
touches to our party demo which was
the entry for the competition. All
around there were bodies trying to get
some kip. The demo and music
competition were not until 2pm on
Sunday so we all crashed out until 8am
Sunday morning.
Sunday 4th
----------
Well what can I say, we woke up
fucking freezing.Judge Drokk had tried
to get some sleep in Hammer's car, but
just couldn't get off due to the fact
it was around minus 10 outside. Inside
however, things were starting to warm
up, Annialator had just downloaded a
few more cracks, and everyone got
copies of our party demo, and our new
chip music disk.
At around 1:30pm Number Five and
Opal arrived to judge the demo and
music entries.
the winners were:-
Demo - Party demo by Anarchy(Kreator)
Music - Jam Session by Anarchy(4-Mat)
Verdict
-------
Not bad for a first attempt, you
can learn a lot from your first copy
party.You can impress everyone and get
a good name for your group, or it can
turn out shit ( like the Maffia one in
wales ) and get a bad name for your
group. The entrance fee was cheap
and food and drink was available at a
price. Well done to Magnetic Fields,
lets hope the next one you have is in
a bigger place,but is just as much fun
to attend.
Interview with No 5 of Magnetic Fields
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Magnetic Fields Select Party 3-2-1990
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mr-Big : Ok lets start,who are you and
what group are you with ?
No 5 : well im No 5 (number 5) and
Im in Magnetic Fields
Mr-Big : When did your group start?
No 5 : 18 Feb 1989
Mr-Big : Where did you get the name
Magnetic Fields?
No 5 : Well, I was on the phone one
day talking to Blaster and I
asked him for a good name to
call our new group, and he
just said Magnetic Fields.
apparently it was playing on
his tape deck at the time.
Mr-Big : Did you think you would
become so popular?
No 5 : No, but then how many groups
do.
Mr-Big : Where do you rate your group
in the UK?
No 5 : Does Miss World vote for
herself ? Its not for us to
say,its what the other groups
think of us that counts.
Mr-Big : Whats your fave demo on the
AMIGA?
No 5 : Well, I couldnt say what all
the members of MF like, but I
still like Red Sectors vector
balls,for a while anyway.
Mr-Big : What about fave music then ?
No 5 : On the Amiga there are so
many good tunes. I couldnt
narrow it down to one.
Mr-Big : Ok,what about favourite food?
No 5 : The groups fave food when we
get together is pizza.
Mr-Big : Fave drink?
No 5 : Well when i'm not driving its
big Southern Comforts, the
rest of the group vary from
pop to whisky.
Mr-Big : Ermm, what about your fave
film?
No 5 : Mine has to be Short Circuit,
thats where my name
originates. The rest of the
group is probably ' Debbie
does Dallas again'
Mr-Big : Would you like to comment on
your select copy party?
No 5 : Ok, other than the one we had
last year (which was just for
group members ) you could say
this was our first one. I
would like to thank everyone
who attended.
Mr-Big : Will you have another party?
No 5 : From the response from this
one 'yes'. we will probably
join up with another group or
two and get a bigger place
next time.
Mr-Big : Have you got anything planned
for this year?
No 5 : Yes, watch out for some cool
demos intros etc, we will
carry on supplying our
contacts as fast as we can,
and of course we will have
our yearly outing in april as
usual. The Magnetic Fields
raid on Alton Towers.
Mr-Big : Thanks for your time No 5,
before you go how about a
group profile?
No 5 : Well, here goes nothing......
Number 5 - Management
Blaster - Swapper/Co-management
Dextrous (ex Yaz) - Coder/Musician
Hit - Coder
Bastard - Coder
Spook - Coder
Hassle - Coder
Sister Arv - Graphics/Vector Designer
Frenzy - Graphics
Anz - Graphics
Spook - Musician
Spike - Musician
Cosy - Modem Trader/Swapper
(fast and reliable)
Opal - Modem Trader/Swapper
(Kick Off champion)
Frap - Demo Freak/Swapper (probably
the best demo freak in the world)
Interview carried out by
Mr-Big/Anarchy 3rd Feb 1990
--------------------------------------
-------------- An introduction to demo coding on the Amiga -----------------
--------------- By Kreator ----------------
Well due to requests from our
readers, I have split this article
into two: one part backtracks from
last months issue, and covers the
copper the other covers what I had
originally intended to do this issue
but not in as much depth, ie. 3D
graphics.
One defence an ST owner makes for
his plastic breeze-block when
challenged by an AMIGA owner is that
the ST has a slightly faster 68000
processor ( 8 Mhz compared with the
miggys 7.14 Mhz) Unfortunately for him
however the Amiga has an array of
very powerful custom chips to create
wonderful graphics, crisp sounds
multiplicities of sprites and bobs and
dynamically alter the structure of the
display quickly and easily. The latter
is what I hope to cover this issue ie.
I will be talking about the Copper.
The Copper is in fact a very simple
processor, it has only three
instructions namely WAIT , MOVE , SKIP
WAIT X,Y - This instruction tells the
copper to wait until the specified
position is reached. X is measured in
Bus cycles, or 2 low res. pixels, each
command has two words which means it
takes two bus cycles to process the
command ie. we can only specify X to
an accuracy of 4 low res pixels.
Unfortunately the Vertical Y position
is specified in 8 bits ie. from 0 to
255, but there are 313 ( 0 to 312 )
raster lines in a non-interlaced
screen.How do we specify these last 57
lines? This is achieved by Waiting
until the last possible position
recognised by the copper ie. 222,255 ,
then execute another WAIT instruction.
eg.
You want WAIT 50,270
instead use:
WAIT 222,255
WAIT 50,15 (ie. 270 and 255)
MOVE A,REG - Moves the value A into
the specified Register. The Copper
assumes the REG is an offset to the
start of the Custom register area
HEX DFF000.
eg.
Color00 is standard label for the
background colour and is at $DFF180
To set the screen to black at position
(0,0) use :
WAIT 0,0
MOVE 0,$180
SKIP X,Y - Very similar to WAIT but if
the position specified has already
been passed by the raster beam, then
the copper carries on but skips the
following instruction. I have never
needed to use this command so I won't
go into anymore detail.
As it happens, no assembler will
generate these commands for you they
must be encoded yourself. Some of the
tedium can be removed however with the
use of macros, which take a little
longer to assemble but are infinitely
easier to debug and follow. See the
source on this disk ( in the Custom
Registers file ) for examples of this.
For obvious reasons I have renamed the
MOVE command MOV.
The Structure of the commands are as
follows ;
MOVE
Command word 1
bits 0 0-8 9-15
0 Register Unused
Command word 2 holds the data word
WAIT
Command word 1
bits 0 0-7 8-15
1 X position Y position
Command word 2
bits 0 1-7 8-14 15
0 X mask Y mask BFD
A lot of the second word will look
unfamiliar. BFD means Blitter Finished
Disable, if this bit is clear the
copper will always wait for the
blitter to stop before continuing,this
is only of any use if you start the
blitter from within the copper. The
masks allow you to only consider
certain bits of the (X,Y) raster
position.
Thats all for this months intro. the
source on the disk also covers setting
up screens. Next month I will tell you
how to write a scroll routine.
---------------- More advanced coding techniques ----------------
----------- By Kreator of ANARCHY UK ----------
---- 3 D routines ----
I am going to approach this topic
from a mathematical point of view, the
mathematics invloved are quite simple
but if you are not particularly adept
in this area dont worry it isn't
essential to understand the underlying
theory.
Now suppose we are given an object
to transfer into a wireframe
representation on screen. We must
construct a list of coordinates which
specify the vertices of the object and
also a connection list which tells the
computer how to connect these points
together.
eg. A cube has 8 vertices, and
12 connecting sides, the vertices are
as follows
(50,50,50) (-50,50,50) (-50,-50,50)
(50,-50,50) (50,50,-50) (50,-50,-50)
(-50,-50,-50) (-50,50,-50)
and if these are then labelled 1-8 we
have the connections as follows
1-2 2-3 3-4 4-1 5-6 6-7 7-8 8-5
1-5 2-6 3-7 4-8
If you don't believe the example try
to draw the cube yourself and
visualise the coordinates. Notice that
the point (0,0,0) is at the centre of
the cube, this is important because in
our rotations this will be the only
point which remains stationary.
When rotating the object what we are
in fact doing is rotating the vertices
about the fixed ORIGIN (0,0,0). There
is a mathematical theorem which states
that any 3 dimensional rotation can be
split into 3 individual rotations in
only 2 dimensions, which is a much
simpler thing to calculate. Now in
general it is quite difficult to
calculate these rotations from an
arbitrary 3D rotation, but happily
enough this doesn't matter when
writing demos because by simply
performing 2D rotations and varying
the 3 Angles of rotation we achieve
an interesting effect.
The formula for 2D rotation is given
as follows,
x = X cos(s) - Y sin(s)
y = Y cos(s) + X sin(s)
This can easily be shown with simple
trigonometry.
These formulae enable us to rotate a
point in just two dimensions, but all
we now do is to rotate the point three
times in different planes.
In other words if we are given a
general point (x,y,z) and a,b,c are
the three angles of rotation then to
calculate the rotated point follow the
procedure below (just for interest the
angles a,b,c are called the Euler
angles)
x1 = x cos(a) - y sin(a)
y1 = y cos(a) + x sin(a)
y2 = y1 cos(b) - z sin(b)
z1 = z cos(b) + y1 sin(b)
z2 = z1 cos(c) - x1 sin(c)
x2 = x1 cos(c) + z1 sin(c)
Then (x2,y2,z2) holds the rotated
coordinate. To implement this on the
Amiga use a Sintable which has values
from -32768 to 32767, this can be
reused for the cosine calculations
as cos (a) = sin (a+90 degrees). You
could code the routine something like
Move x,d3
Move y,d4
Move z,d5
Lea Sin,a0
Lea Cos,a1
Move d3,d6
Move d4,d7
Move a,d0 ;a holds 2x the angle
Move (a0,d0),d1
Move (a1,d0),d2
Muls d2,d6
Muls d1,d7
Sub d7,d6
Add.l d6,d6
Swap d6 ;Calculation of x1
Muls d2,d4
Muls d1,d3
Add d3,d4
Add.l d4,d4
Swap d4 ;Calculation of y1
etc......
Now up until now we haven't considered
how the lines will be drawn to the
screen, I shall assume you have access
to a blitter line draw routine, if not
there is one included on the disk,
which is from the System Programmers
Guide. There are two options open now
we can leave the coordinates as they
are and simply add a displacement to
them before plotting the lines, or go
for the more realsitic technique of
perspective. This invloves scaling the
x,y coords. according to how far into
the screen we are. A reasonable way of
doing that is as follows
x,y,z in d3,d4,d5
Add #Depth+Scale,d5
Move.l #Scale*65536,d6
Divu d6,d5
Muls d5,d3 ;Scale the X coord
Add.l d3,d3
Swap d3
Muls d5,d4 ;Scale the Y coord
Add.l d3,d4
Swap d4
Alternatively you can use a table of
scaling values.
Now all that remains is to plot the
lines. Dont forget up until now all
vertices have been calculated with the
origin at (0,0) but now we must move
the origin to the centre of the screen
or where ever else you want it. This
means adding a displacement to each
pair of coordinates.
To see how these techniques are
implemented I've included some source
for you to examine.
These routines can easily be adapted
to other purposes, eg.to create vector
bobs, use a single point for each bob
and before plotting sort the z
coordinates and plot the bobs in
reverse order, also a simple form of
hidden line removal can be implemented
by creating a list of surfaces,
calculating the normals to these
surfaces and if the normals point away
from you dont plot any lines in the
surface. For an example of this see my
Magnetic Fields Party Demo.
Next month I will write about sine
scrollers, Kreator .......