码迷,mamicode.com
首页 > 其他好文 > 详细

计算几何入门向

时间:2017-12-24 22:49:41      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:效果   com   body   turn   实现   vector   构造   point   为什么   

这是一个计算几何入门的教程。

 

与计算几何密切相关的就是坐标系,坐标系上的点可以用下面数据结构实现。

struct Point
{
	double x,y;
	Point(int x,int y) :x(x),y(y){};
};
typedef Point Vector;

向量也是经常需要的,由于和点所需储存的信息相同,可以直接定义为别名。

由于需要使用大量加减乘除,我们可以重载运算符达到很好的使用效果。

挖坑,有时间再写代码

×/

 

我们也可以用STL的虚数类来实现点和向量。

typedef complex<double> Point;
typedef Point Vector;

double Dot(Vector A,Vector B)
{
	return real(B*conj(A));
}

double Cross(Vector A,Vector B)
{
	return imag(B*conj(A));
}

这样我们就可以直接使用自带的构造函数和重载的运算符,我们只需自己实现点乘和叉乘(同样很简单,设A为a+b i,则Conj(A)=a - b  i),可以思考一下为什么是这样写。

这样实现很简单,很好记忆,但效率并不是很高。

计算几何入门向

标签:效果   com   body   turn   实现   vector   构造   point   为什么   

原文地址:http://www.cnblogs.com/wdvxdr/p/8099319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!