MS Small Basic: Figuras cartesianas (código)


 

cartesian_pictures

  Se utiliza el objeto GraphicsWindow para mostrar una ventana de gráficos de colores y dibujar formas en el mismo. Para mostrar la ventana de gráficos en la pantalla se usa la operación Show

 __________________________________________________________________

  1. ‘ Cartesian pictures
  2. p[“ox”] = 100 
  3. p[“oy”] = 100  
  4. p[“points”]  = 20
  5. p[“slope”] = -0.2
  6. p[“interval1”] = 15
  7. p[“inverseSlope”] = 0
  8. p[“interval2”] = 10
  9. p[“penColor”] = “Blue”
  10. p[“penWidth”] = 0.7
  11. DrawDesign()
  12. p[“ox”] = 400 
  13. p[“oy”] = 400  
  14. p[“slope”] = 0
  15. p[“interval1”] = -10
  16. p[“penColor”] = “Green”
  17. DrawDesign()
  18.  
  19.  
  20. p[“ox”] = 400 
  21. p[“oy”] = 200  
  22. p[“slope”] = 0
  23. p[“interval1”] = -5
  24. p[“interval2”] = 10
  25. p[“penColor”] = “Red”
  26. DrawDesign()
  27. Sub DrawDesign
  28. ‘ Origin
  29. ox = p[“ox”]
  30. oy = p[“oy”]
  31.  
  32. ‘ Number of points on each axis
  33. points = p[“points”]
  34.  
  35. ‘ Slope – for the y = mx + b
  36. slope = p[“slope”]
  37. interval[1] = p[“interval1”]  ‘ space between points
  38.  
  39.  
  40. ‘ An inverse slope to allow for strictly vertical axes
  41.  
  42. ‘ An inverse slope to allow for strictly vertical axes
  43. ‘ x = my
  44. inverseSlope = p[“inverseSlope”]
  45. interval[2] = p[“interval2”]
  46.  
  47.  
  48. For index = 1 To points
  49. px[index] = interval[1] * index
  50. py[index] = slope * px[index]
  51.  
  52. qy[index] = interval[2] * index
  53. qx[index] = inverseSlope * qy[index] ‘
  54. EndFor
  55.  
  56.  
  57. GraphicsWindow.PenColor = p[“penColor”]
  58. GraphicsWindow.PenWidth = p[“penWidth”]
  59. For index = 1 To points
  60. px[index] = interval[1] * index
  61. py[index] = slope * px[index]
  62.  
  63. qy[index] = interval[2] * index
  64. qx[index] = inverseSlope * qy[index] ‘
  65. EndFor
  66.  
  67.  
  68. GraphicsWindow.PenColor = p[“penColor”]
  69. GraphicsWindow.PenWidth = p[“penWidth”]
  70. GraphicsWindow.DrawLine(ox, oy, px[points] + ox, py[points] + oy)
  71. GraphicsWindow.DrawLine(ox, oy, qx[points] + ox, qy[points] + oy)
  72.  
  73. For index = 1 To points
  74. GraphicsWindow.DrawLine(qx[index] + ox , qy[index] + oy, px[points+1-index] + ox, py[points+1-index] +oy)
  75. EndFor
  76. EndSub
  77.  
  78. For index = 1 To points
  79. GraphicsWindow.DrawLine(qx[index] + ox , qy[index] + oy, px[points+1-index] + ox, py[points+1-index] +oy)
  80. EndFor
  81.  
  82. EndSub
  83.  

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s