Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Gracias neftalí.
Si, algo así esta perfecto. De echo, es algo parecido a lo que ya tenía preparado y que he ido haciendo gracias a la ayuda del foro.
El siguiente paso es obtener las coordenadas de esos puntos (en plan simple vale con que sean las coordenadas respecto a la imagen) y obtener un listado, de tal manera que luego se pueda usar esa lista para hacer que el programa calcule rectas, curvas, espirales o lo que sea.

La verdad es que el componente ese tiene muy buena pinta. Yo encontré en algún sitio otra cosa que también me gustó, y es que dibujaba lineas entre los puntos, al estilo arcGIS, de tal forma que era facil ver cuanto se estaba acercando uno a la realidad de la curva, y si era necesario meter más puntos entre medias. Pero esto está fantástico.

Muchas gracias de nuevo.

Si me explicais como os paso el ejecutableque tengo en marcha.
Responder Con Cita
  #2  
Antiguo 30-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Ahora estaba pensando, que seguro que hay cientos de librerias y componentes que se encargan de hacer todo tipo de cálculos y gráficos matemáticos como los que necesito, por lo que esa parte tampoco tendría por qué ser tan dura de preparar. Voy a ver que encuentro por la red...
Ya os cuento
Responder Con Cita
  #3  
Antiguo 31-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 23
karlaoax Va por buen camino
hola aqui de nuevo molestando....... estoy haciendo pruebas de como hacer este proyecto, pero si de matematicas estoy jjejejeje, pero seguire la evolucion de este post para ver la soluciones
Responder Con Cita
  #4  
Antiguo 08-06-2007
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 20
fide Va por buen camino
Question Opinion!

Oye, servira OpenGl para algo en este programa????
Responder Con Cita
  #5  
Antiguo 09-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por Robert01
¿y si ajustas la curva usando cuadrados mínimos?
Eso pensé en segunda instancia a mi primera explicación... pero debido a algunas propiedades, características y limitaciones del método de los mínimos cuadrado lo dejé de lado.

Inconveniente:
El método de mínimos cuadrados sólo se puede aplicar cuando existe una relación lineal (proporcional o inversamente proporcional). Ya que lo que hace estimar una RECTA y no una curva. Y como sabemos, no se consiguen buenas estimaciones con una recta. Por lo general se emplean curvas. Una playa puede tener muchas curvas, zig-zags.
Imaginate una playa en forma de cerradura.... si se dá el caso, este método fallará pues la nuve de dispersión tendrá una forma circular (o lo que es lo mismo su covarianza será igual a cero)

Aplicar el método de los mínimos cuadrado necesita evaluar TODODS los puntos en CONJUNTO... esto puede llegar a una lectura general erronea de la forma.

Se necesita de un algoritmo iterativo, Del tipo "puntos a puntos", para conseguir lo que oregon necesita. Ya que el error conseguido será menor.

Un algoritmo iterativo conseguirá predecir la dirección punto a punto. E incluso (ya para algo más grande) se podría llegar a desarrollar uno que aprenda: "Si la pendiente anterior es positiva trazar de seguir subiendo"

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 09-06-2007 a las 00:36:28.
Responder Con Cita
  #6  
Antiguo 09-06-2007
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 21
Robert01 Va por buen camino
Cita:
Empezado por Delphius
Inconveniente:
El método de mínimos cuadrados sólo se puede aplicar cuando existe una relación lineal (proporcional o inversamente proporcional)
Esto en realidad es relativo ya que es posible linealizar la relación:


Algunos problemas de regresión no lineal pueden linealizarse mediante una transformación en la formulación del modelo. Por ejemplo, consideremos el problema de regresión no lineal (ignorando el término de error):
Algunos problemas de regresión no lineal pueden linealizarse mediante una transformación en la formulación del modelo. Por ejemplo, consideremos el problema de regresión no lineal (ignorando el término de error):

y= a exp(bx)
Aplicando logaritmos a ambos lados de la ecuación, se obtiene:

ln(y) = ln(a) + bx;
Aunque es sumamente complicado podría aplicarse por tramos y luego obtenerse una función suma de todos los tramos de la curva.


Pero también podría hacerse usando el algoritmo de gauss newton, éste se utiliza para resolver problemas no lineales de mínimos cuadrados. Es una modificación del método de optimización de Newton que nos usa segundas derivadas y se debe a Carl Friedrich Gauss.

Saludos
Responder Con Cita
  #7  
Antiguo 09-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Gracias, Rober01 por tu explicación...veo que yo estaba confundiendo las cosas.
Sería mejor que descanse esta noche... tuve un día de mucha acción cerebral y no dormi del todo bien anoche... Eso hizo que confundiera los términos. Tengo mi diminuto cerebro hecho ensalada.

¿Método de Newton? Ummmmm..... me está sonando.... se que en cálculo numérico algo vi. Y si no me equivoco debo tener todavía algunas que hojas de apuntes con algoritmos. Tendría que fijarme entre todas las carpetas... y hojas sueltas que tengo tirada en el armario.

Si tengo un tiempo mañana, y si me acuerdo lo busco.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 21-06-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Os pongo un pantallazo de la aplicación que empecé y que así ha quedado.

SAludos


[img=http://img487.imageshack.us/img487/901/pantallazoeu7.th.jpg]
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #9  
Antiguo 30-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.442
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En el mismo sitio (link) de antes te he subido una versión con la lista de coordenadas locales de los puntos que vas añadiendo/borrando/moviendo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 30-05-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Espero aportar algo

Oregon, debo admitir que yo del tema mucho no sé. Estuve haciendo memoria y me acordé del método de Runge-Kutta. Que en pocas palabras toma dos puntos a y b. Y predice k puntos intermedios de acuerdo a una aproximación de primer, segundo, tercer o cuarto orden.

Se que lo tuyo es algo más complicado. Sobre todo si se trata de otros tipos de aproximaciones... sobre todo las del tipo logaritmicas y espirales ya de estos tipos no he oído hablar.

Yo la verdad, es que (para empezar) estaba pensando en algo simple:
Si se tiene una imagen y se toma el supuesto de que cada punto [X,Y] de la imagen puede expresarce en función. Algo como Y = f(X).
Entonces para una serie de puntos (lo más próximos posibles) marcados, mediante algún método de interpolación le precedimos valores y para cada x mayor al punto inicial y menor al final.
Luego repetir el proceso para los siguientes 2 puntos.

Algo como esto:

Código:
1. Tomar 2 primeros puntos:
1.1. Punto_inicial := Puntos(0);
1.2. Punto_final := Puntos(1);

2. Repetir hasta que no haya puntos a examinar
2.1. Aplicar Método de Ruge-Kutta según k-ésimos puntos a generar.
2.2. Para cada k-ésimo punto generado por Runge-Kutta:
2.2.1. Insertar en Puntos entre Punto_inicial y Final, siguiendo el k-ésimo orden.
2.3. Avanzar k lugares a Punto_inicial y Punto_final

3. Para cada punto en Puntos:
3.1. Calcular coordenada en imagen
3.2. Colocar punto y trazar línea desde el punto anterior
Si suponemos que Puntos() es una estructura dinámica que almacena todos los puntos correspondientes. De modo que se consiga algo como esto:

A-k1-k2-k3-k4-B-k1-k2-k3-k4-C-.....

Siendo A,B y C los puntos inicialmente cargado y entre cada uno de ellos los k generados.

Espero que se entienda mi idea. Tal vez no se ajusta a lo que buscas, es que no estoy muy puesto en ese tema, pero es que mi poco conocimiento del tema no me permite más.

No he visto el ejemplo que te envio Neftali pero si he visto pruebas del componente del que te habló.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 31-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Delphius,

Sí, el método de Runge-Kutta es muy bueno para estas cosas, aunque de momento creo que sería complicar en exceso el objetivo el programa. En realidad, creo que aprovechando que tenemos la imagen de fondo el método más recomendable es colocar más puntos. Para ello se puede hacer zoom hasta el límite de la resolución de la imagen. De esa forma, no estamos interpolando, sino metiendo datos, lo que reduce los errores.
Tal vez no haya explicado bien la idea. La cuestión es: la forma de las playas... ¿cual es su expresión matemática? ¿una ecuación linear y=ax+b? ¿tal vez de un grado mayor? ¿y=ax2+bx+c? O tal vez sigue una ecuación logarítmica,o exponencial? ¿tal vez es una función seno? ¿o una espiral?...
Para ello, se parte de la imagen para obtener cuants mas puntos mejor de la curva (en este caso la playa), y se van haciendo intentos de ajustar cada una de esas ecuaciones hasta que una se ajuste a la perfección (o lo mejos posible). Por ello, no busc un método de interpolación, sino la obtención de una curva de cualquier tipo a una serie de puntos dados. O lo que es lo mismo, una regresión.

Por otra parte, Neftalí, tu ejemplo me está gustando. El problema es que yo utilizo la versión gratuita de Delphi, en la que no se pueden instalar componentes. Y en este foro he visto que hay algo así como una puerta trasera, pero dado que no está claro su legalidad, pues no puedo usarlo. ¿habría alguna manera de hacer uso legal de ese código fuente de esos componentes para poder usarlo en mi proyecto? En cualquier caso, muchas gracias por los ejemplos, la verdad es que son muy ilustrativos, y resuelven gran parte de la parte inicial de adquisición de datos a partir de la imagen. Muchas gracias.
Responder Con Cita
  #12  
Antiguo 31-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.442
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por oregon
¿habría alguna manera de hacer uso legal de ese código fuente de esos componentes para poder usarlo en mi proyecto? En cualquier caso, muchas gracias por los ejemplos, la verdad es que son muy ilustrativos, y resuelven gran parte de la parte inicial de adquisición de datos a partir de la imagen.
Bueno, correcto que no es legal en los Turbo instalar nuevos packages.
Una alternativa que alguien comentó alguna vez y que creo que no está fuera de la legalidad es instalar los componentes en el paquete de usuario.
No tengo Turbo Delphi instalado, así que no puedo probarlo, pero estaría bien que alguien que lo tenga lo confirmara. Así podrías instalar este componente legalmente.
Se trata de revisar los packages instalados a ver si está el paquete de usuario (normalmente dclusrXXX.bpl); Si está lo siguiente es comprobar si está el DPK para poder modificarlo (dclusrXXX.dpk o dclusrXXX.dproj).

Si esto no es posible (cuando alguien lo confirme), podemos usar la segunda alternativa, que es crear el componente en ejecución. Añade una cuantas líneas más, pero creo que no impide seguir con el proyecto. En ambos casos el resultado estaría dentro de lo legal.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 31-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Muchs gracias neftali. Entonces a ver si encuentro algo más de informacion sobre como usar el paquete de usuario con el fin de meter ahí los compoenentes que necesito para esta parte del proyecto.

En cuanto sepaalgo más lo cuento. Gracias!!
Responder Con Cita
  #14  
Antiguo 31-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por Neftali
Una alternativa que alguien comentó alguna vez y que creo que no está fuera de la legalidad es instalar los componentes en el paquete de usuario.
No tengo Turbo Delphi instalado, así que no puedo probarlo, pero estaría bien que alguien que lo tenga lo confirmara. Así podrías instalar este componente legalmente.
Vaya, vaya Neftali, así que revelando el gran secreto . Te lo confirmo, se pueden instalar componentes de esa forma, y aparecen luego en la paleta de componentes. Pero la duda no es si instalar componentes es técnicamente posible, la duda es si instalarlos es legal.

Por otro lado, no entiendo porque es tan necesario ese componente. Colocar puntos sobre una imagen, hacer zoom, pan, etc ... se puede hacer fácilmente por código. Puede que incluso con menos código que si hay que crear el componente a mano. De hecho creo que en algún hilo de oregon se trato alguno de esos temas, pero supongo que no le sirvió
Responder Con Cita
  #15  
Antiguo 31-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Ciao Seoane,

Hombre secreto, secreto... llevo tiempo siguiendo la evolución de los hilos de este foro relacionados con el usar codigo fuente de otros componentes para usarlos con Turbo Delphi (version gratuita). Pero nunca lo he intentado hacer por esos debates que se han organizado respecto a la legalidad del asunto, que por tu comentario veo que no está nada claro.

Si, es cierto que esto ya lo he discutido en otros hilos, y si que me sirvio en parte, aunque lo de obtener las coordenadas de esos puntos sobre la imagen se me atrancó, lo reconozco, pero no quería ser un pesado en aquel hilo y deje de preguntar. Pero gracias a los consejosque recibí en aquellos hios tengo una version inicial, aunque no del todo funcional. Perosupongo que el código fuente del ultimo ejemplo de neftalí me vendría de perillas para intentar sacar las coordenadas de los puntos.

Pero el asunto de este hilo, no era discutir esas cosas, sino el ver si alguien se animaba a meterse en esto conmigo. Pero veo que no hay muchos voluntarios, aunque sí muy buenas intenciones e ideas (Gracias a todos!!)
Supongo que acabaré recurriendo a algún estudiante de informática para proponerle este programa como proyecto de fin de carrera o algo así.
O dejarlo irremediablemente para más adelante cuando tenga algo de tiempo para dedicarle a esto e ir haciendolo poco a poco.

En cualquier caso, muchas gracias de verdad por todos los comentarios.
Responder Con Cita
  #16  
Antiguo 31-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.442
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por seoane
Te lo confirmo, se pueden instalar componentes de esa forma, y aparecen luego en la paleta de componentes. Pero la duda no es si instalar componentes es técnicamente posible, la duda es si instalarlos es legal.
Bueno eso es lo que quería confirmar. Me suena haber leído que no permite instalar nuevos packages, no que no permita añadir un componente al package de usuario.
Creo que la idea es no instalar paquetes completos. Pero que sí permita añadir un componente suelto si hace falta. Pero noestoy seguro de esto.

Cita:
Empezado por seoane
Por otro lado, no entiendo porque es tan necesario ese componente. Colocar puntos sobre una imagen, hacer zoom, pan, etc... se puede hacer fácilmente por código. Puede que incluso con menos código que si hay que crear el componente a mano.
Bueno crear un componente a mano son un puñado de líneas; Programar esas acciones (y programarlas bien) no son unas cuanas líneas. El trabajo que tiene hecho este componente es mucho y muy bueno.
Hace no muchos días nos hemos estado divirtiendo con un hilo relativo a Mandalas y a cómo dibujar; Pero tú y yo sabemos de las limitaciones de ese modelo. Sobre todo cuando hay que borrar objetos (por ejemplo). También discutimos que para poder borrar, seleccionar, deshacer y cosas similares el modelo necesario es diferente del que utilizamos allí.
Ya no basta con pintar puntos; Hace falta ir hacia otro camino. Es decir estructuras que mentengan los objetos y los repinten de forma eficiente.
Necesitamos métodos de Selección (markets/Rubberbanding), redimensionado y los comentados antes, como selección, pan, zoom, guardar/restaurar, impresión y exportación.

¿Que se puede hacer? Sí. Que son un puñado de líneas. No.
Y tampoco es trabajo para alguien que no está muy ducho en Delphi (como ha comentado el propio oregón). Está bien para hacer unas pruebas y practicar, pero si la idea es hacer un proyecto, porqué perder tiempo y esfuerzo en hacer algo qu alguien ya ha hecho y que no es nuestro objetivo. Recordemos que el objetivo final es otro.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
necesito ayuda en un proyecto estrella135 Varios 2 01-02-2007 16:09:39
Ayuda para un proyecto SOAD_ API de Windows 0 22-01-2007 00:09:44
ayuda proyecto alex_jf Varios 5 29-04-2006 01:43:48
ayuda para concluir mi proyecto Maga84 Varios 2 29-05-2005 08:55:59
como anexar una ayuda CHM a un proyecto delphi hhuillcen Varios 1 09-12-2003 18:34:02


La franja horaria es GMT +2. Ahora son las 02:53:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi