Geração de uma função afim a partir de dois pontos

Vamos então executar um script JS que determina uma função afim a partir de dois pares ordenados:

Primeiro ponto: (, )
Segundo ponto: (, )

1. script:

function mais(n) { //põe o sinal de + na frente do número
    return (n>=0?'+':'')+n;
}
function gerar(){
    var x1 = document.getElementById('x1').value;
    var y1 = document.getElementById('y1').value;
    var x2 = document.getElementById('x2').value;
    var y2 = document.getElementById('y2').value;
    var a = (y2-y1)/(x2-x1);
    var b = y1 - a*x1;
    document.getElementById('resp').innerHTML = '<b>f(x)='+(a==1?'':a)+'x'+(b==0?'':mais(b))+'</b>';
}

2. formulário:

<form>
    Primeiro ponto: 
    (<input id="x1" placeholder="x1" autofocus>,
    <input id="y1" placeholder="y1">)<br>
    Segundo ponto: 
    (<input id="x2" placeholder="x2">,
    <input id="y2" placeholder="y2">)<br>
    <input type="button" onclick="gerar();" value="Gerar Função">
    <div id="resp" align="center"></div>
</form>

3. estilo:

form {
    background-color: moccasin;
    padding: 10px;
    border-radius: 5px;
}
form input[type=number]{
    width: 20%;
}

Comentários