Intersecção Do Ponto à Reta //Repositório JavaScript

Descrição

Ponto de intersecção entre uma reta e um ponto.
Criado: 2005.08.20

Código (Download)

//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/math/dot-line-intersection [rev. #1]

dotLineIntersection = function(x, y, x0, y0, x1, y1){
    if(!(x1 - x0))
        return {x: x0, y: y};
    else if(!(y1 - y0))
        return {x: x, y: y0};
    var left, tg = -1 / ((y1 - y0) / (x1 - x0));
    return {x: left = (x1 * (x * tg - y + y0) + x0 * (x * - tg + y - y1)) / (tg * (x1 - x0) + y0 - y1), y: tg * left - tg * x + y};
};

Exemplo (Exemplo)

<script type="text/javascript">
//<![CDATA[

o = dotLineIntersection(0, 1, 0, 0, 1, 1);
alert('y = ' + o.y + '\nx = ' + o.x);

//]]>
</script>

Ajuda

dotLineIntersection(px: Integer, py: Integer, x0: Integer, y0: Integer, x1: Integer, y1: Integer): Object
Retorna um objeto contendo duas propriedades (x e y), que especificam o ponto de intersecção entre uma reta e uma linha imaginária que passa pelo ponto e é perpendicular (forma um ângulo de 90°) a essa mesma reta.
px
coordenada x do ponto
py
coordenada y do ponto
x0
coordenada x do ponto A da reta
y0
coordenada y do ponto A da reta
x1
coordenada x do ponto B da reta
y1
coordenada y do ponto B da reta

Ranque (Votos: 38)

3.63