home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / ch_code / ch06 / graph / graph.frm (.txt) next >
Encoding:
Visual Basic Form  |  1996-03-03  |  5.5 KB  |  175 lines

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Function Graphs"
  4.    ClientHeight    =   4500
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   6855
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   4500
  10.    ScaleWidth      =   6855
  11.    StartUpPosition =   3  'Windows Default
  12.    Begin VB.CommandButton Command3 
  13.       Caption         =   "Draw both functions"
  14.       BeginProperty Font 
  15.          Name            =   "Tahoma"
  16.          Size            =   9.75
  17.          Charset         =   0
  18.          Weight          =   400
  19.          Underline       =   0   'False
  20.          Italic          =   0   'False
  21.          Strikethrough   =   0   'False
  22.       EndProperty
  23.       Height          =   405
  24.       Left            =   4575
  25.       TabIndex        =   3
  26.       Top             =   3915
  27.       Width           =   2085
  28.    End
  29.    Begin VB.CommandButton Command2 
  30.       Caption         =   "Draw second function"
  31.       BeginProperty Font 
  32.          Name            =   "Tahoma"
  33.          Size            =   9.75
  34.          Charset         =   0
  35.          Weight          =   400
  36.          Underline       =   0   'False
  37.          Italic          =   0   'False
  38.          Strikethrough   =   0   'False
  39.       EndProperty
  40.       Height          =   405
  41.       Left            =   2385
  42.       TabIndex        =   2
  43.       Top             =   3915
  44.       Width           =   2085
  45.    End
  46.    Begin VB.CommandButton Command1 
  47.       Caption         =   "Draw first function"
  48.       BeginProperty Font 
  49.          Name            =   "Tahoma"
  50.          Size            =   9.75
  51.          Charset         =   0
  52.          Weight          =   400
  53.          Underline       =   0   'False
  54.          Italic          =   0   'False
  55.          Strikethrough   =   0   'False
  56.       EndProperty
  57.       Height          =   405
  58.       Left            =   210
  59.       TabIndex        =   1
  60.       Top             =   3915
  61.       Width           =   2085
  62.    End
  63.    Begin VB.PictureBox Picture1 
  64.       BackColor       =   &H00FFFFFF&
  65.       Height          =   3480
  66.       Left            =   165
  67.       ScaleHeight     =   228
  68.       ScaleMode       =   3  'Pixel
  69.       ScaleWidth      =   430
  70.       TabIndex        =   0
  71.       Top             =   135
  72.       Width           =   6510
  73.    End
  74. Attribute VB_Name = "Form1"
  75. Attribute VB_GlobalNameSpace = False
  76. Attribute VB_Creatable = False
  77. Attribute VB_PredeclaredId = True
  78. Attribute VB_Exposed = False
  79. Function FunctionEval1(ByVal X As Double) As Double
  80.     FunctionEval1 = Exp(2 / X) * Cos(2 * X)
  81. End Function
  82. Function FunctionEval2(ByVal X As Double) As Double
  83.     FunctionEval2 = Cos(3 * X) * Sin(5 * X)
  84. End Function
  85. Private Sub Command1_Click()
  86. Dim t As Double
  87. Dim XMin As Double, XMax As Double, YMin As Double, YMax As Double
  88. Dim XPixels As Integer
  89. YMin = 1E+101
  90. YMax = -1E+101
  91. XMin = 2
  92. XMax = 10
  93. Picture1.Cls
  94. Picture1.ScaleMode = 3
  95. XPixels = Picture1.ScaleWidth - 1
  96. ' Calculate Min and Max for Y axis
  97. For i = 1 To XPixels
  98.     t = XMin + (XMax - XMin) * i / XPixels
  99.     functionVal = FunctionEval1(t)
  100.     If functionVal > YMax Then YMax = functionVal
  101.     If functionVal < YMin Then YMin = functionVal
  102. ' Set up a user defined scale mode
  103. Picture1.Scale (XMin, YMin)-(XMax, YMax)
  104. Picture1.ForeColor = RGB(0, 0, 255)
  105. ' Moce to the first point
  106. Picture1.PSet (XMin, FunctionEval1(XMin))
  107. ' Plot the function
  108. For i = 0 To XPixels
  109.     t = XMin + (XMax - XMin) * i / XPixels
  110.     'Picture1.PSet (t, FunctionEval2(t))
  111.     Picture1.Line -(t, FunctionEval1(t))
  112. End Sub
  113. Private Sub Command2_Click()
  114. Dim t As Double
  115. Dim XMin As Double, XMax As Double, YMin As Double, YMax As Double
  116. Dim XPixels As Integer
  117. YMin = 1E+101
  118. YMax = -1E+101
  119. XMin = 2
  120. XMax = 10
  121. Picture1.Cls
  122. Picture1.ScaleMode = 3
  123. XPixels = Picture1.ScaleWidth - 1
  124. ' Calculate Min and Max for Y axis
  125. For i = 0 To XPixels
  126.     t = XMin + (XMax - XMin) * i / XPixels
  127.     functionVal = Cos(3 * t) * Sin(5 * t)
  128.     If functionVal > YMax Then YMax = functionVal
  129.     If functionVal < YMin Then YMin = functionVal
  130. ' Set up a user defined scale mode
  131. Picture1.Scale (XMin, YMin)-(XMax, YMax)
  132. Picture1.ForeColor = RGB(255, 0, 0)
  133. ' Plot the function
  134. For i = 0 To XPixels - 1
  135.     t = XMin + (XMax - XMin) * i / XPixels
  136.     functionVal = Cos(3 * t) * Sin(5 * t)
  137.     'Picture1.PSet (t, functionVal)
  138.     Picture1.Line -(t, functionVal)
  139. End Sub
  140. Private Sub Command3_Click()
  141. Dim t As Double
  142. Dim XMin As Double, XMax As Double, YMin As Double, YMax As Double
  143. Dim XPixels As Integer
  144. YMin = 1E+101
  145. YMax = -1E+101
  146. XMin = 2
  147. XMax = 10
  148. Picture1.Cls
  149. Picture1.ScaleMode = 3
  150. XPixels = Picture1.ScaleWidth - 1
  151. ' Calculate Min and Max for Y axis
  152. For i = 1 To XPixels
  153.     t = XMin + (XMax - XMin) * i / XPixels
  154.     functionVal = FunctionEval1(t)
  155.     If functionVal > YMax Then YMax = functionVal
  156.     If functionVal < YMin Then YMin = functionVal
  157. ' Set up a user defined scale mode
  158. Picture1.Scale (XMin, YMin)-(XMax, YMax)
  159. Picture1.ForeColor = RGB(0, 0, 255)
  160. ' Moce to the first point
  161. Picture1.PSet (XMin, FunctionEval1(XMin))
  162. ' Plot the function
  163. For i = 0 To XPixels
  164.     t = XMin + (XMax - XMin) * i / XPixels
  165.     'Picture1.PSet (t, FunctionEval2(t))
  166.     Picture1.Line -(t, FunctionEval1(t))
  167. Picture1.ForeColor = RGB(255, 0, 0)
  168. Picture1.PSet (XMin, FunctionEval2(XMin))
  169. ' Plot the function
  170. For i = 0 To XPixels
  171.     t = XMin + (XMax - XMin) * i / XPixels
  172.     'Picture1.PSet (t, FunctionEval2(t))
  173.     Picture1.Line -(t, FunctionEval2(t))
  174. End Sub
  175.