资源简介
用c写的道格拉斯普克算法,是对点的压缩存储及其有效的一种方法
代码片段和文件信息
#include
#include
#include
#include
#define NULL 0
#define LEN sizeof(struct point)
struct point
{
char ptname[8];
float x;
float y;
struct point *next;
};
struct point* creat(void)
{
struct point *head;
struct point *p1*p2;
int n=0;
p1=p2=(struct point*)malloc(LEN);
scanf(“%s“p1->ptname);
head=NULL;
while(strcmp(p1->ptname“finish“)!=0)
{
printf(“请输入该点X Y坐标\n“);
scanf(“%f%f“&p1->x&p1->y);
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct point*)malloc(LEN);
printf(“请输入下一点点名\n“);
scanf(“%s“p1->ptname);
}
p2->next=NULL;
return(head);
}
struct point *getlast(struct point *p)
{
while(p->next!=NULL)
p=p->next;
return p;
}
float len(float x1float y1float x2float y2float x3float y3)
{
float abcsh;
a=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
b=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
s=0.5*(a+b+c);
h=(sqrt(s*(s-a)*(s-b)*(s-c)))*2/c;
return h;
}
void doglas(struct point *headstruct point *lastfloat si
相关资源
- TM4C123中文手册
- 单片机C语言实战开发108例
- stm32 AD7506
- stc-isp-15xx-v6.86G
- Linux那些事儿之我是USB core
- STC8G1K08A红外遥控点灯
- C语言的嵌入式汇编基本使用.docx(2页
- stm32f103c8t6开发板原理图+pcb
- Arduino 敲琴MIDI电子琴 程序报告.docx
- CAN实验
- LCD驱动芯片ST7701SI SPI接口底层驱动配
- 显示屏操作(stm32f103c8t6(SAN))
- USB CAN Tool 源代码(LabVIEW 2011环境)
- Proteus 8.6仿真STM32F103C6
- atmega128 串口通讯(RS485.c)
- C语言嵌入式Modbus协议栈,支持主站和
- stm32 +w5500 裸机 远程升级 自动dns pi
- 永磁同步电机的FOC控制算法
- arduino I2C设备扫描并串口返回地址(
- Proteus仿真:LCD液晶屏显示.rar
- STM32 PCB封装库 全系列 全网不好找
- 基于STM32F407的W5500 tcpserver(官网例程
- 步进电机调速原理.c
- tm1650+stm32f103源码(board_tm1650.c)
- 颜色识别形状识别STM103嵌入式代码
- 基于STM32的音频信号采样与FFT分析
- 汽车电子编程规范(Unlock-MISRA C 2012)
- cheat engine 7.2源码
- 基于STM32F103C8T6主控板使用BH1750检测光
- cubeMX设计实现stm32f407上的CAN及485的通
评论
共有 条评论