1 votos

Coordenadas de la aguja del minutero

Quiero saber cómo se hace una función en javascript que devuelva las coordenadas en determinado minuto. Las coordenadas centrales son el centro del reloj, así que pueden ser negativas. Estoy probando la división o la resta, pero no me sale.

function(minutos)
{
    var x=0,y=0
    x=minutos*60
    y=x-12
    return [x,y]
}

0 votos

PD: Es broma.

2voto

Bueno, no se como llevaras mates pero eso es una circunferencia trigonometrica, basicamente sabes que un reloj tiene 60 minutos en 360 grados, luego te mueves 6 grados por minuto, con eso haces una funcion como la que tu tienes pero con trigonometria:

function(minutos)
{
    var x=0,y=0; // Declaraciones iniciales
    var long = 10; // Longitud de la aguja
    var grados = minutos * 6;
    var radianes = grados * (pi/180);
    /* Si tu eje de cordenadas esta situado en el centro del reloj */
    x=Math.sin(radianes) * long;
    y=Math.cos(radianes) * long;
    return [x,y]
}

Y basicamente eso.

0 votos

Muy bueno, con longitud y todo, igual era una pregunta de broma.

1voto

ArtEze Puntos 285
function asin(X)
{
    var b=1,c=Math.pow,e=-1
    a=X
    for(var i=1;e!=a;i+=2)
    {
            e=a
            b*=i/(i+1);a+=b*c(X,i+2)/(i+2)
    }
    return [a,(i-1)/2]
}
function pi()
{
    return asin(1/2)[0]*6
}
function sin(d,f)
{
    var a=0,b=1,c=Math.pow,e=-1,g=pi()
    if(f=="deg"){d*g/180}
    d-=2*g*Math.floor(d/(g*2))
    for(var i=1;e!=a;i+=4)
    {
            e=a
            a+=c(d,i+0)/b;b*=(i+1);b*=(i+2)
            a-=c(d,i+2)/b;b*=(i+3);b*=(i+4)
    }
    return [a,(i-1)/4]
}
function reloj(minutos)
{
    var ángulo=minutos/60*2*pi()
    return [sin(ángulo)[0],sin(ángulo+pi()/2)[0]]
}

0voto

ArtEze Puntos 285

http://www.microsiervos.com/archivo/gadgets/scope-watch-reloj-coordenadas.html

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X