home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / canabb1a / form1.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1999-09-25  |  6.1 KB  |  199 lines

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    BackColor       =   &H00000000&
  4.    BorderStyle     =   0  'None
  5.    Caption         =   "CREATED BY RANTO & EL-SOL FROM ARGENTINA"
  6.    ClientHeight    =   3255
  7.    ClientLeft      =   1515
  8.    ClientTop       =   2925
  9.    ClientWidth     =   8640
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   3255
  14.    ScaleWidth      =   8640
  15.    ShowInTaskbar   =   0   'False
  16.    WindowState     =   2  'Maximized
  17.    Begin VB.Label Label7 
  18.       BackColor       =   &H00000000&
  19.       ForeColor       =   &H0000FF00&
  20.       Height          =   255
  21.       Left            =   0
  22.       TabIndex        =   6
  23.       Top             =   1440
  24.       Width           =   1095
  25.    End
  26.    Begin VB.Label Label6 
  27.       BackColor       =   &H00000000&
  28.       ForeColor       =   &H0000FF00&
  29.       Height          =   255
  30.       Left            =   0
  31.       TabIndex        =   5
  32.       Top             =   1200
  33.       Width           =   1095
  34.    End
  35.    Begin VB.Label Label5 
  36.       BackColor       =   &H00000000&
  37.       ForeColor       =   &H0000FF00&
  38.       Height          =   255
  39.       Left            =   0
  40.       TabIndex        =   4
  41.       Top             =   960
  42.       Width           =   1095
  43.    End
  44.    Begin VB.Label Label4 
  45.       BackColor       =   &H00000000&
  46.       ForeColor       =   &H0000FF00&
  47.       Height          =   255
  48.       Left            =   0
  49.       TabIndex        =   3
  50.       Top             =   720
  51.       Width           =   1095
  52.    End
  53.    Begin VB.Label Label3 
  54.       BackColor       =   &H00000000&
  55.       ForeColor       =   &H0000FF00&
  56.       Height          =   255
  57.       Left            =   0
  58.       TabIndex        =   2
  59.       Top             =   480
  60.       Width           =   1095
  61.    End
  62.    Begin VB.Label Label2 
  63.       BackColor       =   &H00000000&
  64.       ForeColor       =   &H0000FF00&
  65.       Height          =   255
  66.       Left            =   0
  67.       TabIndex        =   1
  68.       Top             =   240
  69.       Width           =   1095
  70.    End
  71.    Begin VB.Label Label1 
  72.       BackColor       =   &H00000000&
  73.       ForeColor       =   &H0000FF00&
  74.       Height          =   255
  75.       Left            =   0
  76.       TabIndex        =   0
  77.       Top             =   0
  78.       Width           =   1095
  79.    End
  80. Attribute VB_Name = "Form1"
  81. Attribute VB_GlobalNameSpace = False
  82. Attribute VB_Creatable = False
  83. Attribute VB_PredeclaredId = True
  84. Attribute VB_Exposed = False
  85. Dim LineaX1(1 To 10000) As Integer
  86. Dim LineaX2(1 To 10000) As Integer
  87. Dim LineaY1(1 To 10000) As Integer
  88. Dim LineaY2(1 To 10000) As Integer
  89. Dim LineaZ1(1 To 10000) As Integer
  90. Dim LineaZ2(1 To 10000) As Integer
  91. Dim RealX1(1 To 10000) As Integer
  92. Dim RealY1(1 To 10000) As Integer
  93. Dim RealX2(1 To 10000) As Integer
  94. Dim RealY2(1 To 10000) As Integer
  95. Dim OJOX As Long
  96. Dim OJOY As Long
  97. Dim OJOZ As Long
  98. Dim OJOANGULOX As Single
  99. Dim OJOANGULOY As Single
  100. Dim SINOJOANGULOX As Single
  101. Dim COSOJOANGULOX As Single
  102. Dim SINOJOANGULOY As Single
  103. Dim COSOJOANGULOY As Single
  104. Const PI As Double = 3.14159265358979
  105. Public LINEAS As Integer
  106. Dim A As Integer
  107. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  108. Select Case KeyCode
  109. Case vbKeyEscape
  110. Case vbKeyLeft
  111. OJOANGULOX = OJOANGULOX + 3
  112. Call ANGULOX
  113. Case vbKeyUp
  114. OJOZ = OJOZ + 10 * (SINOJOANGULOX) * SINOJOANGULOY
  115. OJOX = OJOX + 10 * (COSOJOANGULOX)
  116. OJOY = OJOY + 10 * (COSOJOANGULOY)
  117. Case vbKeyRight
  118. OJOANGULOX = OJOANGULOX - 3
  119. Call ANGULOX
  120. Case vbKeyDown
  121. OJOZ = OJOZ - 10 * (SINOJOANGULOX) * SINOJOANGULOY
  122. OJOX = OJOX - 10 * (COSOJOANGULOX)
  123. OJOY = OJOY - 10 * (COSOJOANGULOY)
  124. Case vbKeyZ
  125. OJOANGULOY = OJOANGULOY + 3
  126. Call ANGULOY
  127. Case vbKeyA
  128. OJOANGULOY = OJOANGULOY - 3
  129. Call ANGULOY
  130. Case vbKeyQ
  131. OJOANGULOY = 90
  132. OJOANGULOX = 90
  133. OJOZ = -250
  134. OJOX = 250
  135. OJOY = 250
  136. Call ANGULOY
  137. Call ANGULOX
  138. Case Else
  139. Exit Sub
  140. End Select
  141. Dibujar
  142. End Sub
  143. Private Function ANGULOX()
  144. 'CALCULAR EL SENO Y COSENO PARA QUE CUANDO DIBUJE NO TENGA QUE SACARLO TANTAS VECES.
  145. SINOJOANGULOX = Sin(OJOANGULOX * PI / 180)
  146. COSOJOANGULOX = Cos(OJOANGULOX * PI / 180)
  147. End Function
  148. Private Function ANGULOY()
  149. 'CALCULAR EL SENO Y COSENO PARA QUE CUANDO DIBUJE NO TENGA QUE SACARLO TANTAS VECES.
  150. SINOJOANGULOY = Sin(OJOANGULOY * PI / 180)
  151. COSOJOANGULOY = Cos(OJOANGULOY * PI / 180)
  152. End Function
  153. Private Sub Form_Load()
  154. Open (App.Path & "\CUBO.txt") For Input As #1
  155. Do While Not EOF(1)
  156. If EOF(1) = True Then Exit Do
  157. LINEAS = LINEAS + 1
  158. Input #1, LineaX1(LINEAS), LineaY1(LINEAS), LineaZ1(LINEAS), LineaX2(LINEAS), LineaY2(LINEAS), LineaZ2(LINEAS)
  159. OJOX = 250
  160. OJOY = 250
  161. OJOZ = -200
  162. OJOANGULOX = 90
  163. OJOANGULOY = 90
  164. Call ANGULOY
  165. Call ANGULOX
  166. Dibujar
  167. End Sub
  168. Private Sub Dibujar()
  169. For A = 1 To LINEAS
  170. Line (RealX1(A) + 6000, 4500 - RealY1(A))-(RealX2(A) + 6000, 4500 - RealY2(A)), 0
  171. X1 = (LineaX1(A) - OJOX) * SINOJOANGULOX - (LineaZ1(A) - OJOZ) * COSOJOANGULOX
  172. Y1 = (LineaY1(A) - OJOY) * SINOJOANGULOY - (LineaZ1(A) - OJOZ) * COSOJOANGULOY
  173. Z1 = ((LineaZ1(A) - OJOZ) * SINOJOANGULOX + (LineaX1(A) - OJOX) * COSOJOANGULOX - OJOZ) * SINOJOANGULOY - (LineaY1(A) - OJOX) * COSOJOANGULOY
  174. X2 = (LineaX2(A) - OJOX) * SINOJOANGULOX - (LineaZ2(A) - OJOZ) * COSOJOANGULOX
  175. Y2 = (LineaY2(A) - OJOY) * SINOJOANGULOY - (LineaZ2(A) - OJOZ) * COSOJOANGULOY
  176. Z2 = ((LineaZ2(A) - OJOZ) * SINOJOANGULOX + (LineaX2(A) - OJOX) * COSOJOANGULOX - OJOZ) * SINOJOANGULOY - (LineaY2(A) - OJOX) * COSOJOANGULOY
  177. If Z1 < X1 Or Z1 > OJOZ + 20000 Or Z1 < Y1 Then
  178. RealX1(A) = 0
  179. RealY1(A) = 0
  180. RealX2(A) = 0
  181. RealY2(A) = 0
  182. GoTo 666
  183. End If
  184. RealX1(A) = X1 * 15000 / ((X1 ^ 2 + Y1 ^ 2 + Z1 ^ 2) ^ (1 / 2))
  185. RealY1(A) = Y1 * 15000 / ((X1 ^ 2 + Y1 ^ 2 + Z1 ^ 2) ^ (1 / 2))
  186. RealX2(A) = X2 * 15000 / ((X2 ^ 2 + Y2 ^ 2 + Z2 ^ 2) ^ (1 / 2))
  187. RealY2(A) = Y2 * 15000 / ((X2 ^ 2 + Y2 ^ 2 + Z2 ^ 2) ^ (1 / 2))
  188. Line (RealX1(A) + 6000, 4500 - RealY1(A))-(RealX2(A) + 6000, 4500 - RealY2(A)), &HFF&
  189. 666 Next A
  190. Label1.Caption = "X =: " & OJOX
  191. Label2.Caption = "Y =: " & OJOY
  192. Label3.Caption = "Z =: " & OJOZ
  193. Label4.Caption = "AngX = " & OJOANGULOX
  194. Label5.Caption = "AngY = " & OJOANGULOY
  195. End Sub
  196. Private Sub Form_Unload(Cancel As Integer)
  197. Close #1
  198. End Sub
  199.