Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
¿ Qué Forma Os Parece Más Correcta Para Dibujar Esto ?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje ¿ Qué Forma Os Parece Más Correcta Para Dibujar Esto ? 
 
Hola!.

Recordando viejos tiempos con el ordenador Spectrum.    ( Es que soy un nostálgico de esa época)
Estaba acordándome como se dibujaba en aquella pantalla. El ejemplo es sencillo, se trata de dibujar un marco a la pantalla.

Si vemos el código de aquella vieja máquina.

 bordes

El resultado era este:

 rectangulo

Bien. En este caso las instrucciones del trazado se hicieron directamente.
Luego para reducir el código usábamos un método como este. Usando datas.

 rectangulo_datas

El resultado es idéntico

Ahora llevemos ese mismo código a Gambas.
Imaginemos el primer caso, instrucciones que dibujan una a una.

'Estan son las medidas de alta resolución de una pantalla de un Spectrum Sinclair

Private Const h As Integer = 175
Private Const w As Integer = 255

Public Sub _new()
  
End

Public Sub Form_Open()
  
  Me.Center
  
End

Public Sub Lienzo_Draw()
  
  Dibujar_Bordes()
  
End

Public Sub Dibujar_Bordes()
  
  Paint.LineWidth = 2
  Paint.MoveTo(0, 0)  
  Paint.LineTo(w, 0)
  Paint.LineTo(w, h)
  Paint.LineTo(0, h)
  Paint.LineTo(0, 0)
  Paint.Stroke  
  
End
 


Y ahora usemos un array de array.

'Estan son las medidas de alta resolución de una pantalla de un Spectrum Sinclair

Private Const h As Integer = 175
Private Const w As Integer = 255

Private coordenadas As Integer[][] = [[0, 0], [w, 0], [w, h], [0, h], [0, 0]]

Public Sub _new()
  
End

Public Sub Form_Open()
  
  Me.Center
  
End

Public Sub Lienzo_Draw()
  
  Dibujar_Bordes()
  
End

Public Sub Dibujar_Bordes()
  
  Dim i As Integer
  
  Paint.LineWidth = 2
  'Comienzo del dibujo
  Paint.MoveTo(coordenadas[0][0], coordenadas[0][1])  
  'Trazado de las líneas
  For i = 1 To coordenadas.Max    
    Paint.LineTo(coordenadas[i][0], coordenadas[i][1])      
  Next  
  Paint.Stroke  
  
End
 

El resultado es, con respecto a la resolución de Spectrum 255 x 175, fue esto:

 rectangulo_1424390802_831821

Bien, ¿ Qué opináis sobre la forma de dibujar ?. ¿ Creéis que es mejor hacerlo instrucción por instrucción o usar una array donde guardar las coordenadas ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Qué Forma Os Parece Más Correcta Para Dibujar Esto ? 
 
Shell:

Citar:
¿ Creéis que es mejor hacerlo instrucción por instrucción o usar una array donde guardar las coordenadas ?

Yo creo que es mucho más potente usar un array de coordenadas, porque si tenemos que cambiar las coordenadas, lo podemos hacer en el array, sin tocar para nada el código.

El caso típico de mover un vertice... es mucho más facil modificar el array y mandarlo a dibujar, que modificar instrucciones...


Saludos

Julio
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Qué Forma Os Parece Más Correcta Para Dibujar Esto ? 
 
Julio:

También podemos hacerlo la primera vez  y luego cuando lo tengamos seguro, hacerlo con un array de coordenadas.

Naturalmente, no me acorde en ese momento que gambas, dispone de la función de dibujar rectángulos.    

A veces vemos una manera de hacer las cosas y queremos hacerla igual. O por que seguramente es la forma aprendida.
Pero eso no ocurre por que sea un Spectrum, es que nos ocurre al aprender un lenguaje y queremos hacerlo de la misma
manera en otro. Ejemplo gambas -> Python o viceversa, Java..etc,etc.

Al igual que cuando empezamos un lenguaje y al tiempo nos damos cuenta de que había funciones para esas cosas.
Que eso no quita merito a lo que se ha hecho la primera vez.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Qué Forma Os Parece Más Correcta Para Dibujar Esto ? 
 
Shell:


Citar:
También podemos hacerlo la primera vez y luego cuando lo tengamos seguro, hacerlo con un array de coordenadas.

Yo tuve un profesor, que nos decía:

"Las cosas mal hechas cuestan el doble: una por hacerlas mal y otra por tenerlas que volverlas a hacerlas bien"

Si usas un método que sabes que no es el correcto, seguro que al tiempo , tendrás que modificarlo y rehacerlo.

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Qué Forma Os Parece Más Correcta Para Dibujar Esto ? 
 
Julio:

O mejorarlo.

Funcionar funciona, pero hay otros métodos más eficaces.

Saludo
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Forma Correcta En La Conexion De Base De D... Lykan Bases de Datos 13 Miercoles, 29 Abril 2015, 22:25 Ver último mensaje
Lykan
No hay nuevos mensajes Cual Es La Forma Correcta De Agregar Un Co... vr_rv Controles/Librerías/Componentes 4 Lunes, 11 Julio 2016, 19:24 Ver último mensaje
vr_rv
No hay nuevos mensajes ¿Cual Es La Sintaxis Correcta Para Clave ... willyanjose Bases de Datos 10 Lunes, 01 Agosto 2016, 15:28 Ver último mensaje
willyanjose
No hay nuevos mensajes Uso De Angulos Para Dibujar. Radianes O Gr... Shell General 5 Martes, 17 Abril 2018, 11:04 Ver último mensaje
Shell
 

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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron