挑战程序设计竞赛(算法和数据结构)——16.1 几何对象的基本元素与表现的JAVA实现

Posted 小乖乖的臭坏坏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了挑战程序设计竞赛(算法和数据结构)——16.1 几何对象的基本元素与表现的JAVA实现相关的知识,希望对你有一定的参考价值。

import java.awt.*;
import java.util.Vector;

public class GraghBasic 
    //表示点的类
    public static class Point
        double x, y;
        Point(double x, double y)
            this.x = x;
            this.y = y;
        
    

    //表示向量的类
    public static class MyVector
        double x, y;
        MyVector(double x, double y)
            this.x = x;
            this.y = y;
        
    

    //表示线段的类
    public static class Segment
        Point p1, p2;
        Segment(Point p1, Point p2)
            this.p1 = p1;
            this.p2 = p2;
        
    

    public static class Polygon
    	//表示多边形
        Vector<Point> P;
        Polygon(Vector<Point> P)
            this.P = P;
        
    

    //表示圆的类
    public static class Circle
        Point c;
        double r;
        Circle(Point c, double r)
            this.c = c;
            this.r = r;
        
    

    //-----------------------------------------------------------------------//

    //向量加法函数
    public static MyVector addOperation(MyVector p1, Point p2)
        MyVector p3 = new MyVector(0,0);
        p3.x = p1.x + p2.x;
        p3.y = p1.y + p2.y;
        return p3;
    

    //向量减法函数
    public static MyVector minusOperation(MyVector p1, Point p2)
        MyVector p3 = new MyVector(0,0);
        p3.x = p1.x - p2.x;
        p3.y = p1.y - p2.y;
        return p3;
    

    //向量数乘函数
    public static MyVector numberMultiplication(MyVector p1, double k)
        p1.x *= k;
        p1.y *= k;
        return p1;
    

    //向量范数函数
    public static double norm(MyVector p1)
        return Math.sqrt(p1.x * p1.x + p1.y * p1.y);
    

    //向量内积函数
    public static double dotProduct(MyVector p1, MyVector p2)
        return p1.x * p2.x + p1.y * p2.y;
    

    //向量外积函数
    public static double vectorProduct(MyVector p1, MyVector p2)
        return p1.x * p2.y - p1.y * p2.x;
    



以上是关于挑战程序设计竞赛(算法和数据结构)——16.1 几何对象的基本元素与表现的JAVA实现的主要内容,如果未能解决你的问题,请参考以下文章

挑战程序设计竞赛(算法和数据结构)——15.5最小生成树(Kruskal算法)的JAVA实现

挑战程序设计竞赛(算法和数据结构)——分割(下)&快速排序的JAVA实现

挑战程序设计竞赛(算法和数据结构)——19.2九宫格拼图问题的JAVA实现

挑战程序设计竞赛(算法和数据结构)——7.1归并排序JAVA实现

挑战程序设计竞赛(算法和数据结构)——16.13线段相交问题(曼哈顿算法)的JAVA实现

挑战程序设计竞赛(算法和数据结构)——3.6希尔排序的JAVA实现