Você está aqui: Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto de interseção de duas retas em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 1026 vezes |
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes. Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Java. Mas, antes de vermos o código, dê uma olhada na seguinte imagem: ![]() Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta. Veja o código Java completo que nos auxilia na resolução deste problema: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; // Classe usada para representar um ponto no // plano 2d (Plano Cartesiano) class Ponto{ double x, y; // construtor da classe public Ponto(double x, double y){ this.x = x; this.y = y; } } public class Estudos { public static void main(String[] args) { // vamos construir os quatro pontos Ponto A = new Ponto(5, 7); Ponto B = new Ponto(9, -4); Ponto C = new Ponto(-8, 2); Ponto D = new Ponto(11, 6); // vamos obter a representação do segmento AB double a1 = B.y - A.y; double b1 = A.x - B.x; double c1 = (a1 * A.x) + (b1 * A.y); // vamos obter a representação do segmento CD double a2 = D.y - C.y; double b2 = C.x - D.x; double c2 = (a2 * C.x) + (b2 * C.y); // obtém o determinante double determinante = (a1 * b2) - (a2 * b1); // as duas retas são paralelas? if(determinante == 0){ System.out.println("\nAs duas retas são paralelas.\n"); } else{ // e construímos o ponto de intersecção double x = ((b2 * c1) - (b1 * c2)) / determinante; double y = ((a1 * c2) - (a2 * c1)) / determinante; Ponto inters = new Ponto(x, y); System.out.printf("O ponto de interseção é: x = %.2f; y = %.2f", inters.x, inters.y); } System.out.println(); } } Ao executar este código Java nós teremos o seguinte resultado: O ponto de interseção é: x = 5,76; y = 4,90 De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas. |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Pesquisando um valor em uma matriz de int e retornando o índice no qual o mesmo foi encontradoQuantidade de visualizações: 9367 vezes |
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara, constrói e inicializa uma matriz de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido na matriz. Se o valor for encontrado na matriz, retorne seu índice (lembre-se de que os índices dos elementos em uma matriz Java começam em 0). A declaração, construção e inicialização da matriz pode ser feita da seguinte forma: // declara, constrói e inicializa uma matriz de 5 inteiros int valores[] = {4, 21, 8, 120, 1}; Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import javax.swing.JOptionPane; public class Estudos { public static void main(String[] args) { // declara, constrói e inicializa uma matriz de 5 inteiros int valores[] = {4, 21, 8, 120, 1}; // vamos ler um valor inteiro int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:")); // vamos verificar se o valor está contido na matriz e retornar seu índice int pos = -1; // índice não existente na matriz for(int i = 0; i < valores.length; i++){ if(valores[i] == pesquisa){ pos = i; // encontrou? vamos anotar este índice break; } } // vamos mostrar o resultado if(pos > -1){ JOptionPane.showMessageDialog(null, "O valor foi encontrado no índice: " + pos); } else{ JOptionPane.showMessageDialog(null, "O valor não foi encontrado na matriz"); } } } Uma idéia na resolução deste exercício é inicializar a variável que guardará o índice do elemento pesquisado com o valor -1. Assim, se no final da pesquisa o valor ainda for -1, sabemos que o elemento não foi encontrado. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm |
Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 AQuantidade de visualizações: 1005 vezes |
Pergunta/Tarefa: Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp). Sua saída deverá ser parecida com: Informe a corrente: 10 Informe a tensão: 200 A resistência elétrica é: 20.0 Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão: \[R = \frac{U}{I} \] Onde: R = Resistência elétrica (medida em ohms (Ω)). U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb). I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo). Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os dados System.out.print("Informe a corrente: "); double corrente = Double.parseDouble(entrada.nextLine()); System.out.print("Informe a tensão: "); double tensao = Double.parseDouble(entrada.nextLine()); // agora vamos calcular a resistência double resistencia = tensao / corrente; // e mostramos o resultado System.out.println("A resistência elétrica é: " + resistencia); } } |
Java ::: Dicas & Truques ::: Data e Hora |
Como construir uma data em Java usando o método set() da classe Calendar - Apostila Java BásicoQuantidade de visualizações: 96 vezes |
Nesta dica mostrarei como é possível usar o método set() da classe Calendar, do pacote java.util, para construir uma data e hora em Java. Veja o exemplo completo (fique atento à ordem do ano, mês, dia, horas, minutos e segundos): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Calendar; public class Estudos{ public static void main(String args[]){ Calendar agora = Calendar.getInstance(); // ano, mês, dia, hora, minuto, segundo // mês começa a partir de 0 agora.set(2005, 10, 23, 5, 29, 53); // mostra o resultado System.out.println(agora.getTime().toString()); } } Ao executar este código Java nós teremos o seguinte resultado: Wed Nov 23 05:29:53 BRST 2005 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |