ПроЭктировщик
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений (для 71 пользователей)
|
Ответ: 2d сетка
в принципе всё до чего я додумался ...
вот примеры кода:
Graphics 800,600 ,32,
SetBuffer BackBuffer()
While Not KeyHit(1)
Cls
Xoffset# = -10
py =0
For map_pointY = 0 To 12
py= py+1
px =0
Xoffset# = Xoffset# -.5
For map_pointX# = -6 To 6
px = px +1
Color 255,255,255
Plot 400 + (map_pointX*3.5*Xoffset# ) , 30+ map_pointY*30
Text 400 + (map_pointX*3.5*Xoffset# ) , 30+ map_pointY*30 , px +" "+py
Next
Next
Flip
Wend
End
другой вариант ;
Graphics 800,600,32,2
SetBuffer BackBuffer()
x = 20
y = 40
z = 50
z2 =30
k =16
FOV = 400
dist =100
Dim tx(k) : Dim ty(k) : Dim tz(k)
Restore dats
For i = 1 To k
Read x,y,z
tx(i)=x
ty(i)=y
tz(i)=z
Next
HidePointer
While Not KeyHit(1)
Cls ; Сначала очищаем экран
mx = MouseX()-200 : my= MouseY()
For i=1 To k
; sx = 400+tx(i)*dist/Float(tz(i)+dist)
; sy = 300+ty(i)*dist/Float(tz(i)+dist)
sx = tx(i)*FOV/Float(tz(i)) +400
sy = ty(i)*FOV/Float(tz(i)) -200
x = mx*FOV/Float(200) +400
y = my*FOV/Float(200) -200
Text sx,sy,"."
Text x,y,"+"
;Text xx,yy,"2"
Next
Flip ; Меняем буфер
Wend
End
.dats
Data 0,0,0
Data 0,300,200
Data 20,300,200
Data -20,300,200
Data 20,300,220
Data -20,300,220
Data 0,300,220
Data 20,300,240
Data -20,300,240
Data 0,300,240
Data 20,300,260
Data -20,300,260
Data 0,300,260
Data 20,300,280
Data -20,300,280
Data 0,300,280
|