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

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

/******************************************************************************* 
* 文件名称  : 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
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值