Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Uso De Angulos Para Dibujar. Radianes O Grados
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Uso De Angulos Para Dibujar. Radianes O Grados 
 
Buenas!.

¿ Usamos radianes cuando dibujamos con la clase Paint ?.
Vale, vale, convertimos.  

Si tenemos que (3 * PI / 2) radianes son 270º. Seria bastante complejo usar radianes
en determinados momentos que queramos dibujar.

Dicen que cuando hablamos de grados debemos usar radianes y no grados.

Ejemplo, quiero dibujar un circulo y dentro de este una línea que actúa como su radio.
Según los grados en radianes, trazo una línea que es la hipotenusa del triangulo, que va desde el centro de la circunferencia
a cualquier punto sobre la circunferencia.

 radianes

Así si usamos radianes:

Const RADIO As Integer = 100

Private cpizarra As New Point

Public Sub Form_Open()
  
  cpizarra.x = Pizarra.W / 2
  cpizarra.Y = Pizarra.H / 2  
  
End

Public Sub DibujaCirculo()
  
  Paint.LineWidth = 2
  Paint.Arc(cpizarra.x, cpizarra.y, RADIO)
  Paint.Brush = Paint.Color(Color.Red)
  Paint.Stroke
  
End

Public Sub DibujaLinea()
  
  Paint.LineWidth = 2        
  Paint.MoveTo(cpizarra.x, cpizarra.y)  
  Paint.LineTo(cpizarra.x + RADIO * Cos(3 * Pi / 2), cpizarra.y + RADIO * Sin(3 * Pi / 2))
  Paint.Brush = Paint.Color(Color.Blue)
  Paint.Stroke  
  
End

Public Sub Pizarra_Draw()
  
  DibujaCirculo()
  DibujaLinea()
  
End
 


Cuando usamos grados, usamos la función Rad, que convierte de grados a radianes.
Así que si en vez de usar ( 3 * PI / 2 ) usáramos Rad(270).

Public Sub DibujaLinea()
  
  Paint.LineWidth = 2        
  Paint.MoveTo(cpizarra.x, cpizarra.y)  
  'Paint.LineTo(cpizarra.x + RADIO * Cos(3 * Pi / 2), cpizarra.y + RADIO * Sin(3 * Pi / 2))
  Paint.LineTo(cpizarra.x + RADIO * Cos(Rad(270)), cpizarra.y + RADIO * Sin(Rad(270)))
  Paint.Brush = Paint.Color(Color.Blue)
  Paint.Stroke  
  
End
 


Obtendríamos lo mismo.

Pero, ¿  es más correcto usar uno u otro ?. Resulta bastante complejo hablar en radianes.  

Quizás en determinados momentos el programador use uno u otro.

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso De Angulos Para Dibujar. Radianes O Grados 
 
Para nosotros los programadores no sé, pero para el matemático siempre prefiere radianes.

Ellos prefieren hablar en radianes, antes que en "babilónico"....siiiii, los inventores de los grados.

Explicación traducida:

Citar:

Esta es la mejor respuesta que puedo darte: los grados están bien para las mediciones diarias. Pero la trigonometría marca un punto de inflexión en matemáticas, cuando el alumno levanta su mirada de lo cotidiano hacia ideas más grandes y distantes. Comienzas a explorar relaciones básicas, simetrías profundas, los tipos de patrones que hacen funcionar al universo. Y para navegar ese terreno, necesita una noción de ángulos que es más natural, más fundamental, que dividir el círculo en un número arbitrario de piezas. El número π, por extraño que parezca, se encuentra en el corazón de las matemáticas. El número 360 no. Aferrarse a ese artefacto babilónico solo te distraerá y oscurecerá las elegantes verdades que estás buscando.


Y a continuación...

Citar:

Al igual que tú, aprendí a hablar babilónico mucho antes de encontrar radianes. Y durante años, el babilonio siguió siendo mi lengua nativa: para obtener un ángulo en radianes primero se requería un acto de traducción mental. Entonces, si eres resistente a los radianes, nostálgico de Babilonia, puedo simpatizar contigo.

Aún así, cuando llega el momento decisivo, los radianes pueden llevarte a lugares que los grados simplemente no pueden. Por eso, cuando mis alumnos de Trig dan un ángulo en grados en lugar de radianes, les digo: "Lo siento, no hablo en babilónico".


 

Enlace:

Grados vs radianes!

Aprender como niños es la mejor forma de aprender, para llegar ser primero adultos, tendremos que pensar como niños.
Ademas es más divertido.  

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso De Angulos Para Dibujar. Radianes O Grados 
 
Tanto como ingeniero como como astrónomo aficionado, me he encontrado con una auténtica Babel — — de unidades angulares. Grados centesimales, grados sexagesimales con fracción decimal, horas, horas con fracción decimal... Al final, por conveniencia, por lógica, y por coherencia con distintos lenguajes de programación, adopté los radianes y les hice mimitos y carantoñas para que se quedasen conmigo. Y así sigo.
Aunque de cuando en cuando tenga que hablar babilonio        
 



 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso De Angulos Para Dibujar. Radianes O Grados 
 
Grandamakulo escribió: [Ver mensaje]
Aunque de cuando en cuando tenga que hablar babilonio  


 
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso De Angulos Para Dibujar. Radianes O Grados 
 
Shell escribió: [Ver mensaje]
Buenas!.

¿ Usamos radianes cuando dibujamos con la clase Paint ?.
Vale, vale, convertimos.  

Si tenemos que (3 * PI / 2) radianes son 270º. Seria bastante complejo usar radianes
en determinados momentos que queramos dibujar.

Dicen que cuando hablamos de grados debemos usar radianes y no grados.

Pero, ¿  es más correcto usar uno u otro ?. Resulta bastante complejo hablar en radianes.  

Quizás en determinados momentos el programador use uno u otro.
s


Redundando en este asunto, la «corrección» de emplear rad aparece con la propia definición de rad, ya que de esta manera la longitud del arco es directamente: L=Fi x R, lo que es especialmente conveniente en física, mecánica, electrónica, etc (velocidad radial, fuerza centrífuga...) Por eso mismo es una unidad del SI: no requiere de constantes para esa transformación.
La ventaja de usar grados es que, y por eso se empleó hace miles de años ese extraño número de 360, es muy fácilmente divisible. 360 es divisible por:
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180, 360
Y nos hemos acostumbrado a ellos.
Pero hay más unidades útiles y utilizadas —no, no vamos a entrar en grados centesimales—:
a) Horas. Estamos acostumbrados a ellas, 24 también es fácil de dividir y muchas aplicaciones ya convierten directamente en hh:mm:ss sin necesidad de andar con funciones intermedias, basta con Format o incluso en hojas de cálculo, con establecer el formato de la celda.
b) Revoluciones o vueltas. O sus fracciones. De hecho, ésta es la unidad de intercambio más sencilla con los radianes y la más sencilla también para dibujar. Porque tú normalmente no quieres dibujar a 30º, sino dividir el círculo en doce partes o en un arco que sea equivalente a un círculo completo entre doce.
Al final, creo que lo más sencillo, programando, es asignar vueltas y trabajar con rad, y en el interface mostrar las unidades correspondientes, sean cuales fueren estas.
Por ejemplo, para reducir un ángulo grande —más de 360º, 2xPi o una vuelta— a una sola vuelta, el código es:

Public Function RedAng(Ang As Float) As Float

  Dim Fi As Float
  
  Fi = 2 * Pi * Frac(Ang / 2 / Pi)
  If Ang < 0 Then Fi = 2 * Pi + Fi * Sgn(Ang) ' Para resultados entre 0 y 2Pi. Para -2Pi a 2Pi, eliminar esta línea
  Return Fi

End
 


Realmente, se debería escribir así:

Public Function RedAng(Ang As Float) As Float

  Dim Fi As Float
  
  Fi = 6.283185307179586476925286766559 * Frac(Ang / 6.283185307179586476925286766559)
  If Ang < 0 Then Fi = 6.283185307179586476925286766559 + Fi * Sgn(Ang)
  Return Fi

End
 


El primer ejemplo está escrito en «vueltas» transformadas a rad y el segundo directamente en rad. Parece lo mismo, pero desde el punto de vista «humano» no lo es.
Pues lo mismo suelo hacer yo para dibujar, o en general.
Es decir, no dibujo un ángulo de 30º —que como bien has mostrado, es muy fácil en gambas3 con las funciones Rad() y Deg()—, sino que dibujo un doceavo de vuelta, esto es 2 * Pi / 12. Puede parecer más farragoso, pero creo, de nuevo de forma personal, que es más adecuado en las condiciones que he estado explicando.

 



 
última edición por Grandamakulo el Lunes, 16 Abril 2018, 10:57; editado 1 vez 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso De Angulos Para Dibujar. Radianes O Grados 
 
Grandamakulo:

Gracias por la explicación.

Voy a intentar usar en adelante radianes. En parte, usando radianes, parece más claro.
Un número es algo abstracto. Aunque ponga el símbolo de grados.
Por otra parte es una forma de no olvidar las fracciones y sus operaciones.

Saludos
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario