Programando cosillas

Soporte técnico sobre los lanzamientos de MojonTwins y comentarios sobre los güegos. Ofrecemos soporte técnico con Fourspriter, te ayudamos con ZX Basic o Z88DK, te damos pistas some cómo saltarse un bicho y cosas así.

Moderador: na_th_an

Avatar de Usuario
juanfran
Mensajes: 5342
Registrado: Vie, 09 Ene 2009, 13:00

Programando cosillas

Mensajepor juanfran » Mar, 08 Oct 2013, 13:37

Buenas, tengo una duda, quiero pintar una función senoidal para algo parecido a un rayo. He estado probando pero me salen churros muy gordos.

Tengo mi tile que es de 64x64, como quiero que el rayo vaya por medio de este fijo que el pixel X=0 ,Y=32 de ese tile es el "centro" (por asi llamarlo). La altura máxima que puede llegar a tomar es 32 pixeles tanto por arriba como por abajo a ese centro.

Pruebo de la siguiente forma:

y = sin (i / 180 * PI) (180*PI para convertirlo en radianes)

i contiene el angulo, que seria un bucle que va desde 0 a 360.

Lo que no se me ocurre es la forma de ponerlo para que la longitud de onda me ocupe completamente un tile, ni como obtener la posicion X.
Alcalde gilipollas
Avatar de Usuario
nacho
Mensajes: 4891
Registrado: Vie, 09 Ene 2009, 13:01

Re: Programando cosillas

Mensajepor nacho » Mar, 08 Oct 2013, 13:43

Pos no sé, yo soy de letras :lol:
Die Mutter gebar Sie
Avatar de Usuario
juanfran
Mensajes: 5342
Registrado: Vie, 09 Ene 2009, 13:00

Re: Programando cosillas

Mensajepor juanfran » Mar, 08 Oct 2013, 13:49

nacho escribió:Pos no sé, yo soy de letras :lol:


:lol: :lol: :lol: :lol: :lol:
Alcalde gilipollas
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Programando cosillas

Mensajepor na_th_an » Mar, 08 Oct 2013, 13:50

No te pillo muy bien :D Creo que sí, pero no sé. Voy a ver lo que recuerdo de trigonometría :D

Vamos a pintar la onda de izquierda a derecha ~~~~.

Tú mira esta fórmula:

Y = 32 + A * sin (ALPHA)

Donde A es la amplitud, o sea, el valor máximo y mínimo. Si tu tíle es de 64 y empiezas en 32, y quieres que llegue arriba y abajo, A = 32, porque así, 32-32=0 y 32+32=64. Pon 31 y así no se sale, mejor :lol:

Luego ALPHA es el ángulo. Lo suyo es recorrer el tile de un extremo a otro con un bucle, y calcular el ángulo escalando.

Por ejemplo, tú tendrías que hacer el bucle desde X = 0 hasta 63. Ahora tienes que ver cuántas vueltas quieres que te entren ahí. Una entera es 2*PI, se hace una regla de 3:

Código: Seleccionar todo

32 -> 2*PI
i -> ALPHA


Por lo que ALPHA = 2*PI*i / 32.

Si quieres dos vueltas, pues 4*PI. Si quieres media vuelta, pues PI. Y así.

¿Es esto lo que quieres?
Como diría Rorshach: "Urm..."
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Programando cosillas

Mensajepor na_th_an » Mar, 08 Oct 2013, 13:55

Creo que algo asín:

Código: Seleccionar todo

int x, y; float alpha;

for (x = 0; x < 64; x ++) {
   alpha = 2 * PI * (float) (x) / 32;
   y = 32 + 31 * sin (alpha);
   pon_un_picsel_en (x, y);
}
Como diría Rorshach: "Urm..."
Avatar de Usuario
juanfran
Mensajes: 5342
Registrado: Vie, 09 Ene 2009, 13:00

Re: Programando cosillas

Mensajepor juanfran » Mar, 08 Oct 2013, 13:55

Yeah! eres una máquina! ;)

Luego lo pruebo y te cuento a ver que tal :D
Alcalde gilipollas
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Programando cosillas

Mensajepor na_th_an » Mar, 08 Oct 2013, 13:56

A lo mejor no va, lo he hecho de memoria, pero tiene TO LA LÓGICA :lol:
Como diría Rorshach: "Urm..."
Avatar de Usuario
juanfran
Mensajes: 5342
Registrado: Vie, 09 Ene 2009, 13:00

Re: Programando cosillas

Mensajepor juanfran » Mar, 08 Oct 2013, 13:58

na_th_an escribió:A lo mejor no va, lo he hecho de memoria, pero tiene TO LA LÓGICA :lol:


:lol: :lol: :lol: :lol:

Bueno, pruebo y te cuento a ver ;)
Alcalde gilipollas
Avatar de Usuario
na_th_an
Mensajes: 26412
Registrado: Vie, 09 Ene 2009, 12:18

Re: Programando cosillas

Mensajepor na_th_an » Mar, 08 Oct 2013, 14:02

DALE TRON!
Como diría Rorshach: "Urm..."
Avatar de Usuario
juanfran
Mensajes: 5342
Registrado: Vie, 09 Ene 2009, 13:00

Re: Programando cosillas

Mensajepor juanfran » Mar, 08 Oct 2013, 14:04

;)

A ver que sale de esto!
Alcalde gilipollas

Volver a “Ayuda”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados