1/* Imagine duas retas no plano cartesiano, onde seus coeficientes respectivos são a1 e b1, e
2a2 e b2. Faça um programa em Java para calcular quais as coordenadas do ponto de interseção
3entre as duas retas (mostre uma mensagem caso não haja intersecção).*/
4
5//uma reta é formada por 2 pontos no plano
6// um ponto é formado por cordenadas(x,y)
7// formula geral da reta ax+by+c=0
8//coeficiente angular > m =
9/*
10* Autor: Janerson Douglas
11*
12* Prof: Rafael Leal
13*/
14
15
16import java.util.*;
17
18public class Exercicio25{
19 public static void main(String[] args ) {
20 Scanner input = new Scanner(System.in);
21 // coletando dados para formar um reta
22 double xa ,ya , xb,yb; // Reta R composta pelo ponto A e B
23 double xc ,yc , xd,yd; // Reta S composta pelo ponto C e D
24 double m,m1,x,y,y1,y2;
25
26 // Lendo os Pontos A e B
27 System.out.println("Cordenadas do Ponto A");
28 System.out.print("Valor de X: ");
29 xa = input.nextDouble();
30 System.out.print("Valor de Y: ");
31 ya = input.nextDouble();
32 System.out.println("Cordenadas do Ponto B");
33 System.out.print("Valor de X: ");
34 xb = input.nextDouble();
35 System.out.print("Valor de Y: ");
36 yb = input.nextDouble();
37
38 // Lendo os Pontos C e D
39 System.out.println("Cordenadas do Ponto C");
40 System.out.print("Valor de X: ");
41 xc = input.nextDouble();
42 System.out.print("Valor de Y: ");
43 yc = input.nextDouble();
44 System.out.println("Cordenadas do Ponto D");
45 System.out.print("Valor de X: ");
46 xd = input.nextDouble();
47 System.out.print("Valor de Y: ");
48 yd = input.nextDouble();
49
50 // CALCULANDO O COEFICIENTE ANGULAR DA RETA R QUE PASSA PELOS PONTOS A E B
51 // m = (yb-ya)/(xb-xa)
52 // calculo da reta que passa por dois pontos y-y1=m(x-x1)
53 m = (yb-ya)/(xb-xa);
54 // y1=(m*(x))-(m*(xa))+ya;
55 // CALCULANDO O COEFICIENTE ANGULAR DA RETA R QUE PASSA PELOS PONTOS C E D
56 // m1 = (yd-yc)/(xd-xc)
57 m1 = (yd-yc)/(xd-xc);
58 // y2=(m1*(x))-(m1*(xc))+yc;
59 x = ((m*(xa))+ya + (m*(xa))-ya)/((yd*yb)+yd)*-1;
60 y = (m1*(x)-(m1*(xc))+yc);
61 if(m==m1 || m<0 || m1<0){
62 System.out.println("Não existe ponto de intersecção");
63 }else{
64 System.out.println("Ponto de intersecção: ("+x+" , "+y+")");
65 }
66 }
67}