計算幾何模板整理
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
struct Point // 定義一個點

{
double x, y; 
Point()
{} 
Point(double x0, double y0): x(x0), y(y0)
{} //Point a(1.0,2.0);
}; 
struct Line// 定義一條線段,用起點和終點來表示 

{
Point p1, p2; 
Line()
{} 
Line(Point p10, Point p20): p1(p10), p2(p20)
{} //Line a(p1,p2);
}; 
//定義叉積:
//1.如果返回值為正數,表明sp在op->ep(op指向ep)這條射線的順時針方向;
//2.如果返回值為負數,表明sp在op->ep(op指向ep)這條射線的逆時針方向;
//3.如果返回值為0,表明三點共線
double multiply(Point sp,Point ep,Point op)

{
return((sp.x-op.x)*(ep.y-op.y) - (ep.x-op.x)*(sp.y-op.y));
}
posted on 2009-08-04 16:35 abilitytao 閱讀(235) 評論(0) 編輯 收藏 引用

