/*SegmentoDeReta
Este seria mais um papel (ou classe) do programa gráfico. Sabe-se que dois pontos no plano definem um
?pedaço? ou segmento de uma reta; assim, pode-se dizer que um SegmentoDeReta tem as seguintes
características (atributos private): Ponto p1, Ponto p2 (ambos referências a objetos da classe Ponto) e cor
(uma cadeia de caracteres).
Um SegmentoDeReta precisa dos seguintes métodos:
a) Método construtor: para inicializar todos os atributos;
b) Métodos modificadores: um para alterar as posições dos pontos no espaço e outro para alterar
sua cor;
c) Métodos de acesso: que retornam os valores dos atributos (de modo que os atributos, possam ser
lidos por outros objetos);
*/
public class SegmentoDeReta {
private Ponto p1 ;
private Ponto p2 ;
private Ponto cor ;
public SegmentoDeReta ( Ponto p1 , Ponto p2 , Ponto cor ){
this.p1 = p1;
this.p2 = p2;
this.cor = cor ;
}
public void setPosicao ( Ponto p1 , Ponto p2) {
this.p1 = p1;
this.p2 = p2;
}
public void setCor ( Ponto cor ) {
this.cor = cor;
}
public Ponto getPonto1 ( ){
return p1;
}
public Ponto getPonto2 ( ){
return p2;
}
public Ponto getCor (){
return cor ;
}
/*
d) Um método chamado tamanho( ), que não recebe parâmetros e retorna a distância
entre os pontos p1 e p2 (um número real).
DICA:
? Para calcular o tamanho do SegmentoDeReta, calcular a distância entre os pontos p1 e p2.
*/
public double tamanho (){
return p1.distanciaOutraForma(p2);
}
/*a) public void rotacaoAoRedorDaOrigem (double anguloDeRotacao) - calcula e retorna a rotação do
Ponto ao redor da origem do Sistema de Coordenadas, para determinado valor do anguloDeRotacao (em
radianos). A rotação somente pode ser calculada, se o valor de radianos estiver entre 0 (zero) e 2.
novaCoordenadaX = coordenadaX . cosseno (valor em radianos) - coordenadaY . seno (valor em radianos)
novaCoordenadaY = coordenadaY . cosseno (valor em radianos) + coordenadaX . seno (valor em radianos)
DICAS:
? Calcular o seno de x (em radianos) em Java é fácil: seno = Math.sin(x);
? Calcular o cosseno de x (em radianos) em Java é fácil: cosseno = Math.cos(x);
? Calcular o valor de PI em Java é fácil: PI = Math.PI
*/
public void rotacaoAoRedorDaOrigem (double anguloDeRotacao){
double rad= Math.toRadians(anguloDeRotacao);
if ( rad > 0 && rad <= 180 ){
System.out.println ( "nova CoordenadaX = " +( p1.getCoordenadaX()* Math.cos(rad)- p1.getCoordenadaY()*Math.sin(rad) ));
System.out.println ( "nova CoordenadaY = " +( p1.getCoordenadaY()* Math.cos(rad)- p1.getCoordenadaX()*Math.sin(rad) ));
}
else {
System.out.println (" Insira um angulo de rotação menor ");
}
}
}
*a) public void rotacaoAoRedorDaOrigem (double anguloDeRotacao) = minha duvida esta nesse metodo
esta certo isso ?