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 09-07-2015
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Avanzar a una posicion con onda senoidal

Buenos días.

Tengo que recorrer una distancia (ida y vuelta) usando una onda senoidal, que ya la tengo hecha, pero me falla el tema de la frecuencia (creo).
En concreto es para comprimir y descomprimir un amortiguador.
El tema es que sabiendo cuantos puntos de seno tengo que tener a una velocidad dada, me salen muy poquitos puntos.

¿Alguien sabe algo de este tema?

Gracias por adelantado.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.
Responder Con Cita
  #2  
Antiguo 09-07-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
No entiendo lo de los "puntos de seno".

De todas formas, dado que un hertzio se corresponde con un ciclo completo de 2π radianes, usando una regla de tres puedes obtener cualquier valor en la onda.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 09-07-2015
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Hola nuño
http://www.clubdelphi.com/foros/atta...1&d=1436456203
Como puedes ver, en la grafica superior tengo el seno normal.
Y en la grafica inferior lo tengo implementado a la posición.
Tengo que avanzar desde la posición 50mm a la posición 100mm y retroceder a 50mm a una velocidad de 121 mm/seg.
Por tanto, sabiendo que mi unidad minima de tiempo es 1 ms (Sleep(1)), debo tardar 413 ms en todo el desplazamiento. V=E/T
Si la velocidad fuera 100mm/seg, el tiempo para recorrer 50mm será 50/100 = 500ms.
El tema es que el seno comienza de 0, y tengo que ignorar tantos "puntos de seno" hasta llegar al punto máximo, y desde hay descender hasta el punto minimo y vuelta a subir,
Que pasa, que pierdo los puntos iniciales y finales y el tiempo ya no me cuadra, ?que hago= ¿interpolo puntos? o hai algúna función mejor,

Gracias por tu tiempo.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.
Responder Con Cita
  #4  
Antiguo 09-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola cesarsoftware.

Por favor revisa el enlace a la imágen: http://www.clubdelphi.com/foros/atta...1&d=1436456203, a mi me figura como inválido.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 10-07-2015
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
A ver si asi se ve mejor
http://fotos.miarroba.es/cesarleo/206-capturaseno/

__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.

Última edición por ecfisa fecha: 10-07-2015 a las 11:17:08. Razón: Agregar enlace directo a la imágen
Responder Con Cita
  #6  
Antiguo 13-07-2015
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Bueno, si a alguien le interesa, que espero que si, me respondo a mi mismo

Antes usaba esta funcion para obtener cada posicion de seno y un tiempo determinado me daba mas o menos puntos de seno.
Código Delphi [-]
Result := amplitud * Sin(velocidad / (2 * PI) * frecuencia);

Ahora lo que he echo es
Código Delphi [-]
factor := (2 * PI) / numeroMovimientos;
n := 0;
For s := 1 To numeroMovimientos do // puntos de seno = milisegundos de duracion
begin
posicion := amplitud * (Cos((n + 1) * factor) - 1); // n es ordinal de los milisegundos a avanzar
Inc(n);
 ......

(http://fotos.miarroba.es/cesarleo/207-cosenosimple/)

E incluso con varios ciclos

(http://fotos.miarroba.es/cesarleo/208-cosenotriple/)

El truco, aparte de la frecuencia, es que el seno comienza en 0 (cero) y el coseno en la posicón máxima de amplitud

De nada,
Un saludo.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.

Última edición por ecfisa fecha: 13-07-2015 a las 22:34:10. Razón: agregar imágenes
Responder Con Cita
  #7  
Antiguo 13-07-2015
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Poder: 18
cesarsoftware Va por buen camino
Perdon, algun admin puede poner las fotos, no se poque no me salen bien.

Gracias.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.
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
Elegir Posicion de una cadena String y eliminar caracter en una posicion deseada BuRtOn Varios 14 26-03-2009 23:59:39
Cursor se desplaza por la onda lujurock Gráficos 1 11-03-2009 13:58:39
¿Qué onda con estos correos? Faust La Taberna 5 05-11-2008 23:29:30
La onda poliburro La Taberna 0 26-06-2008 01:26:42
¿Borland BDS Que onda con la personalidad C++? JXJ Varios 0 24-04-2006 18:57:54


La franja horaria es GMT +2. Ahora son las 23:12:30.


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