Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 18
oregon Va por buen camino
Hola Delphius,

Sí, es verdad que de momento solo se ha hablado de la parte visual, y poco de la gráfica. auque supongo que depediendo delprograma que se use para laparte gráfica el lenguaje de programación será distinto par ala parte lógica.

Te explico por encima la parte teórica. Se trata de, usando la imagen de satélite, ir colocando a mano puntos que representen lalinea de costa. Esos puntos tendrán unas coordenadas relativas a la imagen. Una de las opciones delprograma podría ser el dar coordenadas a las esquinas o las de unaesquina y la resolución por pixel, para poder trabajar en coordenadas métricas (UTM, por ejemplo). Pero eso, como dices es un problema menor,ya que se trata de sumas, restas, multiplicaciones y divisiones de la imagen. De todas formas, en teoría la costa se comporta como un fractal, por lo que en principio, y digo en principio, daría un poco igual la escala real. Aunque en el fondo si que me interesa.
Una vez que se tienen las coordenadas de los puntos (relativas a la imagen o ya en UTM), la idea es calcular curvas de regresión, al igual que lo puede hacer excell o cualquier calculadora científica. Buscar una recta, una curva exponencial o logarítmica que más se acerca a los puntos dibujados. Como bien dices hay multitud de maneras de hacer esto, decenas de algoritmos y de aproximaciones matemáticas. Yo de momento había empezado por las espirales logarítmicas, que son algo más complejas porque requieren, además de localizar unposible foco de la espiral, un cálculo iterativo, la transformación de coordenadas restangulares a coordenadas polares,... Así que no te se decir que algoritmo usar porque tampoco me había metido mucho en el tema por el momento hasta haber resuelto alguno de los problemas visuales previos.
El resultado del análisis es una ecuación. Los parámetros dependerán del tipo de recta o curva seleccionada, pero al final es una ecuación. Con esa ecuaci´n se pueden pintar una curva teórica dela curva que,representada en elmismo espacio que lospuntos usados, te permite visualmente saber como de cerca o lejos quedan los puntos de la curva teórica. Para calcular matemáticamente el error, también hay muchas funciones matemáticas, comopuedes veren excell.

Creo que te he solucionado poco, pero supongo que el problema habría que ir resolviendolo poco a poco, en función del tipo defunción a emplear. Además tampoco pretendo que el programa sea la soluciónfinal para el calculo universal de interpolación de curvas, que paraesoya existen programas matemáticos muy evolucionados que lo hacen mil veces mejor. Esto debe ser una cosa sencilla pero efectiva y útil. Si de los mil algoritmos posible, solo se usan 5, pero de manera razonada y con buenos resultados, pues el objetivo estará cumplido.

Última edición por oregon fecha: 30-05-2007 a las 18:41:32.
Responder Con Cita
  #2  
Antiguo 30-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 18
oregon Va por buen camino
Si karla, si tienes razón. Lo divertido de esto es aprender. Por eso me dedico a la ciencia, y en concreto a las ciencias experimentales por que no me canso de aprender, experimentar y buscarnuevos retos, pero es que en este momento no tengo tiempo material. Apenas duermo 4 o 5 horas al día incluidos los fines de semana, y no tengo tiempo para meterme en más líos.
Otras cosas que intento programar las he dejado aparcadas para dentro de un par de años que espero estar más desahogado, pero este proyecto me interesa especialmente, y en vista de que no tengo más tiempo, por eso he recurrido a la comunidad en busca de alguien que se anime a meterse en estas cosas. No con ello digo que tengan más tiempo, que sean unos vagos y no trabajen sino que alguien que tenga más tiempo y le apetezca hacer la parte de programación, me ayude mientras yo me dedico al diseño y los conceptos teóricos del asunto.

Pero tomo nota de tu recomendación. Muchas gracias Karla.

Última edición por oregon fecha: 30-05-2007 a las 18:43:06.
Responder Con Cita
  #3  
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: 18.339
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
He realizado un pequeño ejemplo a fin de que veas las posibilidades del componente que os he comentado. Es un ejecutable y añade un par de imágenes. El código es básicamente el de crear los objetos y poco más. Lo demás está ya hecho.

No se si puede ayudar a clarificar lo que necesitas.

Link descarga.
__________________
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
  #4  
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: 18.339
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
Comentar que esto es sólo referente a la parte visual. De la parte matemática sabéis más cualquiera de vosotros que yo, que "estoy pez" en eso. He añadido también un par de imágenes para probar (gentileza de Google -una de cerca de mi pueblo-) y otras de cerca de Cancun; Ambos sitios con playas de las mejores que he visto...
__________________
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
  #5  
Antiguo 30-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 18
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
  #6  
Antiguo 30-05-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 18
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
  #7  
Antiguo 31-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
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
  #8  
Antiguo 08-06-2007
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 18
fide Va por buen camino
Question Opinion!

Oye, servira OpenGl para algo en este programa????
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: 18.339
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: 25
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
Respuesta



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 12:46:32.


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