资源简介
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 =
- 上一篇:B样条和贝塞尔曲线的画法
- 下一篇:fftss算法源码 C++
评论
共有 条评论