This is the other example, which is much better to learn from if you wish to make wireframe graphics...
I actually modified this into a flight sim complete with an aircraft carrier you could land on and buildings, while learning B2D...
I had only heard of Blitz on the darkbasic forum, so when a friend of mine bought it, I went over to have a look. I started playing around with Tracers 3D demos and then I just had to go buy Blitz...
EDIT: In reference to your problem, it works perfectly here!
I actually modified this into a flight sim complete with an aircraft carrier you could land on and buildings, while learning B2D...
I had only heard of Blitz on the darkbasic forum, so when a friend of mine bought it, I went over to have a look. I started playing around with Tracers 3D demos and then I just had to go buy Blitz...
EDIT: In reference to your problem, it works perfectly here!
; ********************************* ; * 3D WIREFRAME GRAPHICS EXAMPLE * ; ********************************* ; * Coding by: Tracer * ; ********************************* ; * Coded as an example program * ; * for the Blitz CD. * ;********************************** Graphics 640,480 SetBuffer BackBuffer() Global numpoints = 27 ; Number of points in the point table. Global numconn = 26 ; Number of connections in the connect table. Global distance = 400 ; Needed for perspective. Global vx# ; X location. Global vy# ; Y location. Global vz# ; Z location. ; Arrays used by 3d code. Dim points(numpoints, 3) ; Holds the point locations of the game over 3d. Dim rotated(numpoints, 2) ; Holds rotated points for the 3d. Dim connect(numconn, 2) ; Holds the connections of the 3d. ; Read data for 3d. Restore points For n = 1 To numpoints Read x3d, y3d, z3d points(n, 1) = x3d points(n, 2) = y3d points(n, 3) = z3d Next Restore conns For n = 1 To numconn Read a3d, b3d connect(n, 1) = a3d connect(n, 2) = b3d Next While Not KeyDown(1) threed() Flip Cls Wend ; 3D calculations mayhem. ; Basically it calculates the points in 3d ; and connects these points using the ; connections table. Function threed() vx# = vx# + 0.5 vy# = vy# + 0.5 vz# = vz# + 0.5 For n = 1 To numpoints x3d = points(n, 1) y3d = points(n, 2) z3d = points(n, 3) ty# = ((y3d * Cos(vx#)) - (z3d * Sin(vx#))) tz# = ((y3d * Sin(vx#)) + (z3d * Cos(vx#))) tx# = ((x3d * Cos(vy#)) - (tz# * Sin(vy#))) tz# = ((x3d * Sin(vy#)) + (tz# * Cos(vy#))) ox# = tx# tx# = ((tx# * Cos(vz#)) - (ty# * Sin(vz#))) ty# = ((ox# * Sin(vz#)) + (ty# * Cos(vz#))) nx = Int(512 * (tx#) / (distance - (tz#))) + 320 ny = Int(240 - (512 * ty#) / (distance - (tz#))) rotated(n, 1) = nx rotated(n, 2) = ny Next For n = 1 To numconn Color 255,255,255 Line rotated(connect(n, 1), 1), rotated(connect(n, 1), 2),rotated(connect(n, 2), 1), rotated(connect(n, 2), 2) Next End Function ; All the data for the 3d game over.. lots of work to make :) .points ; Points table ; X, Y, Z Data -100, 50, 50 Data 100, 50, 50 Data 100,-50, 50 Data -100,-50, 50 Data -100, 50,-50 Data 100, 50,-50 Data 100,-50,-50 Data -100,-50,-50 Data 0,-25, 0 Data 0, 25, 0 Data -35,-25, 0 Data -35, 25, 0 Data -5,-25, 0 Data 5, 25, 0 Data 35, 25, 0 Data 20, 25, 0 Data 20,-25, 0 Data -70, 25, 0 Data -70,-25, 0 Data -50, 25, 0 Data -50, 0, 0 Data -40, 0, 0 Data -40,-25, 0 Data 40, 25, 0 Data 70, 25, 0 Data 40,-25, 0 Data 70,-25, 0 .conns ; Connections (From,To, From,To, ..) Data 1,2,2,3,3,4,4,1 Data 5,6,6,7,7,8,8,5 Data 1,5,2,6,3,7,4,8 Data 9,10 Data 11,12,11,13 Data 14,15,16,17 Data 18,19,18,20,20,21,21,22,22,23,23,19 Data 24,25,26,27,25,26