AXMJH3D by Matrefeytontias, adapted from yhean (Jean Carot)'s Juha3D. To use AXMJH3D with your Axe program, write #Axiom(AXMJH3D) at the really beginning of your program. Make sure you have transferred AXMJH3D.8xv to your TI-83+/84+. Included functions : All the functions of the axiom can be found in the DISTR menu [2nd][vars]. You'll have to compile the program using the axiom once to get the real name of each command to appear. ==================================================================================================================================================== CalcMtrx(X,Y,Z) ---------------------------------------------------------------------------------------------------------------------------------------------------- This function calculates the rotation matrix that will be used by any call to the next function. X, Y and Z are the three 1-byte angles needed to calculate it. The matrix is written to the full 9 bytes of OP1 (it's a memory location, see ti83plus.inc), so it gets corrupted by any call to GetCalc, float{} or DelVar (and maybe more funcs, but I can't think of them right now). ==================================================================================================================================================== RotVertx(X,Y,Z,OUT) ---------------------------------------------------------------------------------------------------------------------------------------------------- This function rotates a vertex given its X, Y and Z coordinates, according to the rotation matrix calculated by a previous call to CalcMtrx. It then writes the resulting coordinates as three 2-bytes values to the 6 bytes starting at the address OUT. ==================================================================================================================================================== ProjVertx(X,Y,Z) ---------------------------------------------------------------------------------------------------------------------------------------------------- This function converts 3D coordinates into 2D ones, and returns a 2-bytes value that is equal to Y*256+X. So to get X back, do a modulus 256 on it, and to get Y back, divide it by 256. ==================================================================================================================================================== Triangle(PT1,PT2,PT3,COLOR) ---------------------------------------------------------------------------------------------------------------------------------------------------- This function draws a triangle out of three points. The parameters must be in the same format as the value returned by ProjVertx. COLOR set to 0 draws the triangle black, and COLOR set to 1 draws the triangle in solid white, (ie it erases what's behind). ==================================================================================================================================================== Tri(OFFSETS,TABLE,COLOR) ---------------------------------------------------------------------------------------------------------------------------------------------------- This function draws a triangle out of three offsets and a look-up table. The three 1-byte values starting at OFFSETS are added to TABLE, and the 2-bytes value pointed to by the resulting value is taken as an argument. You must build a table out of ProjVertx() results and then pass it as TABLE to the function before using it. If you don't understand, email me at mattias@refeyton.fr =P COLOR set to 0 draws the triangle black, and COLOR set to 1 draws the triangle in solid white, (ie it erases what's behind). ==================================================================================================================================================== Quad(OFFSETS,TABLE,COLOR) ---------------------------------------------------------------------------------------------------------------------------------------------------- Same as Tri(OFFSETS,TABLE) but it draws a rectangle out of four offsets taken at the starts of OFFSETS. COLOR set to 0 draws the quad black, and COLOR set to 1 draws the quad in solid white, (ie it erases what's behind). ====================================================================================================================================================