Clases punto y linea para realización de circunferenci

Me ayudarías por favor con este ejercicio:
Utilice las clases punto y linea para escribir otras clases que representen: Circunferencia, Elipse y parábola.
El programa para linea y punto son más o menos así:
Código para: Punto
import java.io.*;
public class Punto {
private double x,y;
public Punto(double a, double b){
x=a;
y=b;
}
public double x() {
return x;
}
public double y) {
return y;
}
public boolean equals(Punto p){
return (x == p.x && y == p.y);
}
public string tostring(){
return new string("(" + x + ",
" + y + ")");
}
}
public class PruebaPunto {
public static void main(String[] args) {
Punto p = new Punto(2,3);
System.out.println("p.x()="
+ p.x() + "p.y()=" + p.y());
System.out.println("p = " + p);
Punto q = new Punto(7,4);
System.out.println("q = " + q);
if (p.equals(q))
system.out.println("p es igual a q");
else
system.out.println
("p no es igual a q");
}
}
Codigo para: Linea
import java.io.*;
public class Linea {
private Punto pO; // un punto sobre la linea
private double m; // la pendiente de la linea
public Linea(Punto p, double s) {
pO = p;
m = s;
}
public double pendiente() {
return m;
}
public double interseccionY() {
return (pO.y()-m*pO.x());
}
public boolean equals(Linea l) {
return (pendiente() == l.pendiente() &&
interseccionY() == l.interseccionY());
}
public String toString() {
return new String("y = " + (float)m +
"x + " + (float)interseccionY());
}
}
public class PruebaLinea {
public static void main(String[] args) {
Punto p = new Punto(5,-4);
Linea l1 = new Linea(p,-2);
System.out.println("La Linea 1 es " +l1);
System.out.println("Su pendiente es"
+ l1.pendiente() + ", su interseccion
con y es " + l1.interseccionY());
Linea l2 = new Linea(p,-1);
System.out.println("La Linea 2 es " +l2);
System.out.println("Su pendiente es" + l2.pendiente() + ", su interseccion con y es " + l2.interseccionY());
if (l1.equals(l2))
System.out.println("Las lineas son
iguales");
else
System.out.println("Las lineas no
son iguales");
}
}
Gracias por la ayuda que me puedas brindar en este ejercicio.
Atentamente: hector quelal

1 Respuesta

Respuesta
1
Esto fue lo que se me ocurrió hacer espero que te sirva:
//clase Elipse
public class Elipse {
private Punto foco1;
private Punto foco2;
// El diametro es igual al eje mayor.
private double diametro;
public Elipse(Punto foco1, Punto foco2, double diametro) {
this.foco1 = foco1;
this.foco2 = foco2;
this.diametro = diametro;
}
public Elipse(Elipse e) {
this.foco1 = e.foco1;
this.foco2 = e.foco2;
this.diametro = e.diametro;
}
public Punto obtenerFoco1() {
return this.foco1;
}
public void cambiarFoco1(Punto foco1) {
this.foco1 = foco1;
}
public Punto obtenerFoco2() {
return this.foco2;
}
public void cambiarFoco2(Punto foco2) {
this.foco2 = foco2;
}
public double obtenerDiametro() {
return this.diametro;
}
public void cambiarDiametro(double diametro) {
this.diametro = diametro;
}
public double distanciaEntre2Puntos(Punto p1, Punto p2) {
return Math.sqrt(Math.pow( ( p1.x() - p2.x() ), 2 ) + Math.pow( ( p1.y() - p2.y() ), 2) );
}
public double obtenerDistanciaEntreFocos() {
return distanciaEntre2Puntos(foco1,foco2);
}
public double obtenerExcentricidad () {
return obtenerDistanciaEntreFocos() / obtenerDiametro();
}
public boolean esCircular() {
return foco1.equals(foco2);
}
}
// clase Circunferencia
public class Circunferencia {
private Punto centro;
private double radio;
public Circunferencia(Punto centro, double radio){
this.centro = centro;
this.radio = radio;
}
// este contructor crea una circunferencia cuyo centro es
// el punto x = 0, y = 0 en el plano cartesiano y de radio 1
public Circunferencia(){
this(new Punto(0,0), 1.0);
}
public void cambiarCentro(Punto p){
this.centro = p;
}
public void cambiarRadio( double r ){
this.radio = r;
}
public Punto obtenerCentro(){
return centro;
}
public double obtenerRadio(){
return radio;
}
// calcula y devuelve la longitud de la circunferencia
// que es 2 PI x r
public double obtenerLongitud(){
return 2 * Math.PI * radio;
}
//calcula y devuelve el area de la circunferencia
// que es PI x r al cuadrado
public double obtenerArea(){
return Math.pow(radio,2) * Math.PI;
}
// devuelve un String mostrando los atributos de la circunferencia
public String toString(){
return "Circunferencia con centro en "+centro+", radio = "+radio+", longitud = "+obtenerLongitud()+", y area = "+obtenerArea();
}
}
Y para la clase Parábola necesito más información, no se si el profesor les dio alguna fórmula porque estuve buscando y no encontré nada concreto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas