Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //INTERFACE//
- public interface PSP {
- /**@return ritorna la coordinata x*/
- double getX();
- /**@return ritorna la coordinata y*/
- double getY();
- /**@return distanza del punto dall'origine*/
- double dist();
- /**@return angolo compreso*/
- double angolo();
- /**
- * @param scalare reale dato per moltiplicare l'attuale distanza
- * @return nuovo punto con stesso angolo e distanza moltiplicata
- */
- PSP puntoSc(float scalare);
- }//PSP
- //IMPLEMENTED INTERFACE//
- public class PSPImpl implements PSP {
- private double x;
- private double y;
- /**
- * costruttore completo
- * @param x
- * @param y
- */
- public PSPImpl(double x, double y){
- this.x=x;
- this.y=y;
- }//PSPImpl
- /**
- * costruttore di copia
- * @param punto
- */
- public PSPImpl(PSP punto){
- this(punto.getX(),punto.getY());
- }//PSPImpl
- /**
- * metodo di esemplare che ritorna la coordinata x
- * @return x
- */
- public double getX(){
- return x;
- }//getX
- /**
- * metodo di esemplare che ritorna la coordinata y
- * @return y
- */
- public double getY(){
- return y;
- }//getY
- /**
- * metodo di esemplare che ritorna la distanza dal punto all'origine
- * @return distanza
- */
- public double dist(){
- return Math.sqrt((Math.pow(x, 2)+Math.pow(y,2)));
- }//dist
- /**
- * metodo di esemplare che ritorna l'angolo compreso
- * @return angolo compreso
- */
- public double angolo(){
- double dist=dist();
- if(dist==0)
- return 0;
- else{
- double ang=Math.acos(x/dist);
- if(y>0)
- return ang;
- else
- return (Math.PI*2)-ang;
- }//else
- }//angolo
- /**
- * metodo di esemplare che ritorna un nuovo punto
- * @param scalare
- * @return nuovo punto
- */
- public PSP PuntoSc(float scalare){
- return new PSPImpl(scalare*getX(),scalare*getY());
- }//PuntoSc
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement