|     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

____________________________

10.- Koda. Componente horizontal y vertical de un vector. Proyecciones.

vectores.exe

- Vamos a descomponer un vector en su proyección horizontal y vertical.

- Tenemos un Vector y el ángulo que forma con la horizontal, como muestro en la imagen.

- La componente X = vector * coseno(angulo)
- La componente Y = vector * seno(angulo)

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

- También lo haremos alrevés, tenemos las dos componentes X e Y y queremos obtener el Vector y su ángulo.

[Fíjate que en el nombre de la variable angulo no le pongo acento].

- Vector = raizcuadrada(X^2 + Y^2)

- angulo = arcotangente( Y / X )

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

- Hay que tener en cuenta que la mayoría de los lenguajes de programación realizan las funciones trigonométricas en radianes, y nosotros introducimos grados.

- Debemos convertir de uno a otro.

- Sería así:


- g = (r * 360) / (2 * PI) = 57.29578 * r
- r = (g * 2 * PI) / 360 = 0.0174532 * g

- Pero AutoIt tiene las funciones _Radian() y _Degree() que hacen esas operaciones.

- Para que actúen estas funciones es necesario que incluyamos en el código la librería:

#include <Math.au3>

__________________________
- Ejecutamos Koda.

- Cada vez que vayas a crear un nuevo Formulario con Koda, pulsa en el icono de Form.

- La imagen la insertamos mediante Pictures(está en Adicional). Luego en su propiedad Picture ponemos la imagen.

- Los Input tienen el número a la derecha. Para eso en la pestaña Estilo de abajo, como indico en la imagen, marco ES_RIGHT

- Vamos al SciTE, creamos un nuevo archivo.

- Volvemos al Koda. Tools / Generate Form Code...

- Aquí muestro el código del Formulario generado por el Koda y los algoritmos de cálculos.

Código completo: Formulario + código
vectores.au3

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Math.au3>

#Region ### START Koda GUI section ### Form=D:\kio4\autoit\programas\vectores.kxf
$Form1 = GUICreate("Vectores - Juan A. Villalpando", 476, 589, 192, 132)
$Label1 = GUICtrlCreateLabel("Vector:", 24, 304, 54, 20)
$Input1 = GUICtrlCreateInput("80", 88, 304, 200, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_RIGHT))
$Label2 = GUICtrlCreateLabel("Ángulo en grados: ", 24, 344, 116, 40)
$Input2 = GUICtrlCreateInput("30", 144, 344, 200, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_RIGHT))
$Button1 = GUICtrlCreateButton("Calcula las componentes", 24, 384, 185, 49)
$Pic1 = GUICtrlCreatePic("D:\kio4\autoit\programas\vectores.bmp", 32, 16, 400, 249)
$Label3 = GUICtrlCreateLabel("X = ", 32, 448, 25, 28)
$Label4 = GUICtrlCreateLabel("Y = ", 32, 488, 26, 20)
$Button2 = GUICtrlCreateButton("Calcula vector y ángulo", 32, 520, 177, 49)
$Input3 = GUICtrlCreateInput("0", 72, 448, 200, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_RIGHT))
$Input4 = GUICtrlCreateInput("0", 72, 488, 200, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_RIGHT))
; Juan A. Villalpando
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$x = 0
$y = 0
$vector = 0
$angulo = 0
$radianes = 0

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

	Case $msg = $Button1
	$vector = GUICtrlRead($Input1)
	$angulo = GUICtrlRead($Input2)
	$radianes = _Radian($angulo)
	$x = $vector * cos($radianes)
	$y = $vector * sin($radianes)
    GUICtrlSetData($input3,$x)
	GUICtrlSetData($input4,$y)

	Case $msg = $Button2
	$x = GUICtrlRead($Input3)
	$y = GUICtrlRead($Input4)
	$vector = sqrt($x^2 + $y^2)
	$radianes = atan($y/$x)
	$grados = _Degree($radianes)
    GUICtrlSetData($input1,$vector)
	GUICtrlSetData($input2,$grados)

EndSelect
Wend
Exit

- Lo convertimos en autoejecutable mediante Aut2Exe, aqui está: vectores.exe

-------------------------------------------------------------------------------------
- Mejoras.

- Si quieres que salga con dos decimales:

$area = Round($area, 2)

- 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