您的位置:首页 > 编程语言 > C语言/C++

多边形顺时针方向判断公式及C++代码实现一

2009-01-16 00:14 465 查看
//#include "PolygonInterMul.h"
#pragma once     //编译一次

#ifndef Const_PI_H
#define Const_PI_H
const double PI=3.141592654;
const double e=2.718;
#endif
#ifndef PolygonInterMul_H
#define PolygonInterMul_H
//顶点对象
public struct Top_Point
{
void set(double x,double y,double z)
{
this->X =x;
this->Y =y;
this->Z =z;
};
double X;
double Y;
double Z;
};
//顶点对象
public class Top_PointClass
{
public:
void set(double x,double y,double z)
{
this->X =x;
this->Y =y;
this->Z =z;
};
double X;
double Y;
double Z;
};
//失量/向量
public struct Vertex
{
void set(double i,double j,double k)
{
this->I=i;
this->J=j;
this->K=k;
};
double I;
double J;
double K;
};
//
class PolygonInterMul
{

public :
PolygonInterMul();
~PolygonInterMul();
public :
//求向量p1->p2
Vertex getVertex(Top_Point p1,Top_Point p2);
//求叉积
Vertex getInterMul(Vertex v1,Vertex v2);
//求向量夹角
double getJJ(Vertex v1,Vertex v2);
//测试
void Test();
//三顶点求面积p1->p2->p3  (顶点成逆时针回路)
double getArea(Top_Point p1,Top_Point p2,Top_Point p3);
//多顶点求面积  (顶点成逆时针回路)  梯形法
double getArea(System::Collections::ArrayList PointList);
double getArea(Top_PointClass *PointArray);  //??
private:
double Nums;

};
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息