• 大小: 9KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 语言: C/C++
  • 标签:

资源简介

weiler-athenton算法的求交点过程。 自己写的。花了好多天。 有问题欢迎大家指出。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define PRECISE 1 //用来表示两个实数的精度,这个要大一点,因为像素的精度比较小,都是整数
#define RATE_PRECISE 0.00001 //用来表示斜率的经度,这个要小一点
using namespace std;
typedef struct node
{
int id;//用来标记是第几个点,如果是交点的话,还需要对交点进行标号。
int x;
int y;
int tag;//表示结点的类型,0表示多边形的顶点,1表示入点,2表示出点
int distance;
struct node * next;//用来连接到下一个点
struct node * same;
}Node*LNode;


int four_abandon_five_add(double k)
{
return (int)(k + 0.5);
}

//主多边形的顶点数
int n;
//为每条边生成一个唯一的id
static int uuid = 0;
int get_uuid()
{
return uuid++;
}

//剪裁多边形的顶点数
int m_outer;
int m_inner;
LNode makeNode(int xint yint tag)
{
LNode node = (LNode)malloc(sizeof(Node));
node->x = x;
node->y = y;
node->tag = tag;
node->distance = 0;
node->next =

评论

共有 条评论