纯C语言求点集的凸包程序(含边界提取)

这篇博客介绍了如何使用C语言编程实现求解点集的凸包算法,包括边界提取的方法,详细阐述了数学原理及其在编程中的应用。
摘要由CSDN通过智能技术生成

求取点集凸包的数学原理为最简单的,在网上能够找到。

/******************************************************************************* 
* 文件名称  : GeoEnvelope.h 
* 当前版本  : 1.3
* 作    者  : I_am_No3
* 设计日期  : 2017年3月8日 
* 内容摘要  : 离散点集的凸包轮廓
********************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define MaxNode 1000
int stack[MaxNode];
int top=0;
int last=0;
typedef struct POINT
{
    int x;
    int y;
}POINT;

POINT point[MaxNode];
POINT pointout[MaxNode];


void swap(POINT point[],int i,int j)
{
    POINT tmp;
    tmp=point[i];
    point[i]=point[j];
    point[j]=tmp;
}

double multi(POINT p1,POINT p2,POINT p0) //叉乘
{
    return ((p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x));
}

double distence(POINT p1,POINT p2) //p1,p2的距离
{
    //return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
    return sqrt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值