找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 172|回复: 0

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

[复制链接]

1

主题

0

回帖

35

积分

管理员

积分
35
发表于 2024-3-16 09:49:13 | 显示全部楼层 |阅读模式
  1. //#include "PolygonInterMul.h"
  2. #pragma once     //编译一次
  3. #ifndef Const采用PI采用H
  4.    #define Const采用PI采用H
  5.    const double PI=3.141592654;
  6.    const double e=2.718;
  7. #endif
  8. #ifndef PolygonInterMul采用H
  9.    #define PolygonInterMul采用H
  10.     //顶点对象
  11.         public struct Top采用Point
  12.         {
  13.                   void set(double x,double y,double z)
  14.                   {
  15.                           this->X =x;
  16.                           this->Y =y;
  17.                           this->Z =z;
  18.                   };
  19.                   double X;
  20.                   double Y;
  21.                   double Z;
  22.         };
  23.         //顶点对象
  24.         public class Top采用PointClass
  25.         {
  26.         public:
  27.                   void set(double x,double y,double z)
  28.                   {
  29.                           this->X =x;
  30.                           this->Y =y;
  31.                           this->Z =z;
  32.                   };
  33.                   double X;
  34.                   double Y;
  35.                   double Z;
  36.         };
  37.         //失量/向量
  38.         public struct Vertex
  39.         {
  40.                 void set(double i,double j,double k)
  41.                 {
  42.             this->I=i;
  43.                         this->J=j;
  44.                         this->K=k;
  45.                 };
  46.                 double I;
  47.                 double J;
  48.                 double K;
  49.         };
  50. //
  51. class PolygonInterMul
  52. {
  53.        
  54.         public :
  55.                             PolygonInterMul();
  56.                                 ~PolygonInterMul();
  57.         public :
  58.                 //求向量p1->p2
  59.                 Vertex getVertex(Top采用Point p1,Top采用Point p2);
  60.                 //求叉积
  61.                 Vertex getInterMul(Vertex v1,Vertex v2);
  62.                 //求向量夹角
  63.                 double getJJ(Vertex v1,Vertex v2);
  64.                 //测试
  65.                 void Test();
  66.                 //三顶点求面积p1->p2->p3  (顶点成逆时针回路)
  67.                 double getArea(Top采用Point p1,Top采用Point p2,Top采用Point p3);
  68.                 //多顶点求面积  (顶点成逆时针回路)  梯形法
  69.                 double getArea(System::Collections::ArrayList PointList);
  70.                 double getArea(Top采用PointClass *PointArray);  //??
  71.         private:
  72.                            double Nums;
  73.                        
  74. };
  75. #endif
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-1 18:12 , Processed in 0.114305 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表