Показать сообщение отдельно
Старый 30.01.2009, 22:15   #2
zheland
Разработчик
 
Регистрация: 18.10.2007
Сообщений: 349
Написано 64 полезных сообщений
(для 95 пользователей)
Ответ: Координаты в изометрии

Вот написал программу за 30 минут:
Там найдёшь разные формулы
Для наклона плоскости крути колёсико мышы
SuperStrict
Global x : Float
Global y : Float
Global n : Float
Global px1 : Short
Global py1 : Short = 300
Global px2 : Short = 500
Global py2 : Short
Global px3 : Short
Global py3 : Short = 300
Global px4 : Short = 500
Global py4 : Short
Global px5 : Short
Global py5 : Short = 300
Global px6 : Short = 500
Global py6 : Short
Global px7 : Short
Global py7 : Short = 300
Global px8 : Short = 500
Global py8 : Short
Graphics 800,600,0,0
While Not KeyDown(KEY_ESCAPE)
Cls
SetColor 255,255,255
If MouseX() > 200 Then MoveMouse(200,MouseY())
If MouseY() > 200 Then MoveMouse(MouseX(),200)
DrawLine 0 , 200 , 200 , 200
DrawLine 200 , 0 , 200 , 200
DrawLine 200 , 0 , 200 , 600
DrawText "isometry test v 1.0",0,200
DrawText "MouseX: "+MouseX(),0,350
DrawText "MouseY: "+MouseY(),0,360
DrawText "MouseZ: "+MouseZ(),0,370
DrawText "21:12 30.01.2009",0,560
DrawText "Zheleznov",0,570
DrawText "Andrey Ivanovich",0,580
If  MouseZ()>0
px1=200
py2=MouseZ()
px3=800
py4=600-MouseZ()
Else
px1=200-MouseZ()
py2=0
px3=800+MouseZ()
py4=600
End If
For n = 0 To 1.01 Step 0.1
SetColor 0,0,255
DrawLine px2-(px2-px1)*n,py2-(py2-py1)*n,px3-(px3-px4)*n,py3-(py3-py4)*n
DrawLine px2-(px2-px3)*n,py2-(py2-py3)*n,px1-(px1-px4)*n,py1-(py1-py4)*n
Next
x=Float(MouseX())/200
y=Float(MouseY())/200
SetColor 0,255,0
px5 = px2-(px2-px1)*x
py5 = py2-(py2-py1)*x
px6 = px3-(px3-px4)*x
py6 = py3-(py3-py4)*x
px7 = px2-(px2-px3)*y
py7 = py2-(py2-py3)*y
px8 = px1-(px1-px4)*y
py8 = py1-(py1-py4)*y
DrawLine px5 , py5 , px6 , py6
DrawLine px7 , py7 , px8 , py8
SetColor 255,0,0
DrawRect px5-(px5-px6)*y-5,py7-(py7-py8)*x-5,10,10
Flip
Wend
End
*Сделал быстро: это можно очень сильно улучшить
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MiXaeL (30.01.2009)