挑战程序设计竞赛(算法和数据结构)——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实现