|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando

-- Tutorial de iniciación a Autoit --

Volver al índice del tutorial

____________________________

21.- Deslizable. (Slider). Tiro parabólico.

parabolico.exe

- En un tiro parabólico establecemos el ángulo y la velocidad y debemos calcular el tiempo de vuelo, la altura máxima y el alcance.

- Las expresiones las puedes encontrar en muchas páginas web.

---------------------------------------------------------------------------------------------------------------------------

- Koda.

- Primero ponemos el GroupBox que está en la pestaña de Standard, dentro ponemos dos Etiquetas y dos Slider, estos están en la pestaña de Win32.

__________________________

- Código completo.

parabolico.au3
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form3 = GUICreate("Tiro parabólico - Juan A. Villalpando", 546, 431, 380, 196)
$Group1 = GUICtrlCreateGroup("Establece el ángulo y la velocidad   ", 48, 16, 449, 273)
$Slider1 = GUICtrlCreateSlider(72, 120, 377, 41, BitOR($TBS_TOOLTIPS, $TBS_BOTH, $TBS_ENABLESELRANGE))
GUICtrlSetLimit(-1, 90, 0)
$Slider2 = GUICtrlCreateSlider(80, 232, 369, 49, BitOR($TBS_TOOLTIPS, $TBS_BOTH, $TBS_ENABLESELRANGE))
GUICtrlSetLimit(-1, 100, 0)
$Label1 = GUICtrlCreateLabel("Ángulo en grados: ",  88, 56, 356, 20)
$Label2 = GUICtrlCreateLabel("Velocidad en m/s: ", 88, 168, 355, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label3 = GUICtrlCreateLabel("Tiempo de vuelo en segundos: ", 72, 304, 425, 20)
$Label4 = GUICtrlCreateLabel("Altura máxima en metros: ", 72, 344, 425, 20)
$Label5 = GUICtrlCreateLabel("Alcance en metros: ", 72, 384, 429, 20)
GUISetState(@SW_SHOW)
; Juan A. Villalpando
#EndRegion ### END Koda GUI section ###

$velocidad = 0
$angulo = 0
$tiempo_de_vuelo = 0
$altura_maxima = 0
$alcance = 0

While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop

Case Else
      $angulo = GUICtrlRead($Slider1)
      $radianes = (2 * 3.14 * $angulo) / 360 ; Convierte a radianes
      $velocidad = GUICtrlRead($Slider2)
      GUICtrlSetData($Label1, "Ángulo en grados: " & $angulo)
      GUICtrlSetData($Label2, "Velocidad en m/s: " & $velocidad)

      $tiempo_de_vuelo = (2 * $velocidad * sin($radianes)) / 9.8
      $tiempo_de_vuelo = Round($tiempo_de_vuelo, 2)
      GUICtrlSetData($Label3, "Tiempo de vuelo en segundos: " & $tiempo_de_vuelo)

      $alcance = ($velocidad^2 / 9.8) * sin(2 * $radianes)
      $alcance = Round($alcance, 2)
      GUICtrlSetData($Label4, "Alcance en metros: " & $alcance)

      $altura_maxima = $velocidad^2  * sin($radianes)^2 / (2 * 9.8)
      $altura_maxima = Round($altura_maxima, 2)
      GUICtrlSetData($Label5, "Altura máxima en metros: " & $altura_maxima)

      Sleep(40)

EndSelect
Wend
Exit

________________________________________________

- Comentarios.

- Observa que el cálculo está en Case Else

- Observa que las operaciones de senos, se realizan en radianes, hemos tenido que convertir de grados a radianes.

- Hay funciones para pasar de radianes a grados y viceversa:

_Radian     _Degree

- Esta parte del código es para poner cierto estilo en el componente BitOR($TBS_TOOLTIPS, $TBS_BOTH, $TBS_ENABLESELRANGE)

https://www.autoitscript.com/autoit3/docs/appendix/GUIStyles.htm#Edit

_________________
- Propuesta.

- Calcula el tiempo de recorrido de la luz y el sonido según vimos en App Inventor: 3Bdeslizador.htm

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información