[o] 3-D ROTATiON Explanation [o]

Done By      : ASH                      Total Files  : 4
Protection   : None                     Release Date : 10th April '95
Program Type : None                     Filename     : NLB-3DRT.ZiP

Release Notes : This is not patch, trainer, crack or what so ever!.. it's
just an assembly source of a 3-D rotation. I tried to
explane it as good as I could, I hope it's usefull to all
you coders out there..
Please, Please, Please.. If you think this code is a piece
of *PURE* shit let me know!.. and ehrpff.. if questions
must be aswered contact me at EightBall +31-(0)546-829093..

NLB News      : Ok, This is my first add to NailBomb. I just joined so huh..
Btw.. can Virago & The Weazel Contact me?..

NLB Greets    : Pino, Venom, Skizmo, The Master, The Brain, GMC, Nothingface
Samsman, Rigor Mortis, Jazz, Diablo, Sentinel, Hammer, Peric
Goofie, The Bitripper, The Industrial Man, MrLogic, Sqd
And ofcourse all NailBomb members!

Groups        : All Groups around..

A 3d rotation loox quite hard to some people, but really!, it isn't!!..
I hope explaning is just as easy :).. In this text I will try to make it all
clear. Some of you won't understand it, and some of you will. My explanation
is based on beginning programmers, so if you know JUST a little it's enough!

The main thing with 3d rotation is:

YT = Y * COS(x) - Z * SIN(x)
ZT = Y * SIN(x) + Z * COS(x)
Y = YT
Z = ZT

XT = X * COS(y) - Z * SIN(y)
ZT = X * SIN(y) + Z * COS(y)
X = XT
Z = ZT

XT = X * COS(z) - Y * SIN(z)
YT = X * SIN(z) + Y * COS(z)
X = XT
Y = YT

I guess you think.. 'hehe' or 'hmmmm' or 'aaaaarrgg'..
But don't worry, as promessed I will explane it all (well.. I'll try :)
Above you see a few formules, they calculate the whole thing. I don't
understand them insideout my selve, but the point is just how to use them!
This package should include a sinus from 0 to 255, it's all you need. So
don't use a SIN-table + COS-table, just count 64 bytes upon the SIN-table
and you have a COS-table!.. (In case you knew that kick me :)
This package also includes a table for a 'ball', it has ? * 3 bytes (points)
an X, Y & Z -position for each dot, together they will form a ball.
In the formule above you see 'XT','YT','ZT'.. this are just variables to
store the X,Y or Z coord. for a short while. In the formule you also see
'X','Y','Z'.. this are the coordinates from a point (x,y,z) and a COS & SIN,
but I suppose you understand the sine and cosine idea. Oh yeah, I almost
forgot, In the formule you ALSO see x,y,z between brackets, this are the
angles (steprates). These will tell how fast the points turn around the
X (x) or around the Z (z).. Hmm, that's too fuzzy I think.. SHIT!.. well
a small drawing here..

y
y      z
(y)y    z
y  z (z)
yz
0xxxxxxxxxxxxx
(x)

I hope you understand a little what I mean?..
Ok now, I guess that was the formule, in the assembly source everything
is commented, that will do I'm sure.. (man I am a lousy explaner!, sorry:)

Name:                    Status:     Number:        Ndz:  Sysop:

Edge Of Honor WHq······· World HQ··· +31-2159-37816  3    XtreeMan··········
Golden Image············ German HQ·· +49-6039-45756  3    Brian·············
Underworld·············· Swiss HQ··· +43-2277-69331  1    Psycho············
Stopoint················ Brazil HQ·· +55-21-611-3362 1    Shadow············

Fiction················· Apply······ +31-77-826906   1    SlackJaw··········

MAIL GOES TO:
PO BOX 520 1400 AM BUSSUM
THE NETHERLANDS

Together We Stand:

Ash, Heretic, Impure, SlackJaw, Sonic, Synopsis, The Weazel, Tweak,
Virago & WizzyWiz.