资源简介

自己尝试写的无人机灯光秀的路径规划,有些不成熟,二分法

资源截图

代码片段和文件信息

#include
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include
#include 
#include  
#include  


#define m 70
#define n 64
#define height 70
#define maxwidth 48
#define minwidth 17
#define width 32
#define yidth 21
#define stopy 21
#define maxn 640
#define min(xy)  ( x#define max(xy)  ( x>y?x:y )

float alltime = 10;
float dt = 0.2;
float to = 0;
float dmin = 0.5;
float k = 0.32;
float r2 = 0.04;
int num = 640;
float W[maxn][maxn];
int lx[maxn] ly[maxn];
int left[maxn];
bool s[maxn] t[maxn];
int arr[m][n] = { 0 };
int stoppoint[width][yidth][height];

struct point {
float x;
float y;
float z;

};
struct speed {
float vx;
float vy;
float vz;
};

void startup()
{
    //int stoppoint[width][yidth][height];
for (int i = minwidth; i  {
for (int j = (-(stopy-1)/2); j <=((stopy-1)/2); j++)
{   if (j!=0)
   {
stoppoint[i][j][0] = 9;//9代表飞行器;
   }

}
}

}//在平面标记飞行器

int zuobiao()
{
const char* iallfp = “uestc640.txt“;
//printf(s);
FILE*fp;
int i j k;
fopen_s(&fp “uestc640.txt“ “r“);
if (NULL == fp)
{
printf(“failed to open dos.txt\n“);
return 1;
}
//int arr[m][n] = { 0 };
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
fscanf_s(fp “%d“ &(arr[i][j]));
}
fscanf_s(fp “\n“);
}
fclose(fp);
printf(“\n“);
return 0;
}//读取图像上的符号转存进arr


void xinputinfo(struct point info[]) //xgroup结构体输入函数
{
int k = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (arr[i][j] == 4)
{
//printf(“%d   %d\n“ i j);
info[k].x = j;
info[k].y = 0;
info[k].z = 70-i;
//info[k].num1 = k;
k++;
}
}
}
}
void yinputinfo(struct point info[])//ygroup结构体输入函数
{
int k = 0;
for (int i = minwidth; i < maxwidth; i++)
{
for (int j = (-(stopy - 1) / 2); j <=((stopy - 1) / 2); j++)
{
if (stoppoint[i][j][0] == 9)//9代表飞行器;
{
int a = i;
int b = j;
info[k].x = a;
info[k].y = b;
info[k].z = 0;
//info[k].num1 = k;
k++;
}
}
}
}
void sinputinfo(struct speed info[])//speed01结构体输入函数
{
for (int i = 0; i < num; i++)
{
info[i].vx = 0;
info[i].vy = 0;
info[i].vz = 0;
}
}





bool match(int i)   //匹配函数
{
s[i] = true;
for (int j = 0; j < num; j++)
{
if ((lx[i] + ly[j]) == W[i][j] && !t[j])
{
t[j] = true;
if (!left[j] || match(left[j]))
{
left[j] = i;
return true;
}
}
}
return false;


void update()   //二分图更新
{
int a = (1 << 30);
for (int i = 0; i < num; i++)
{
if (s[i])
{
for (int j = 0; j < num; j++)
{
if (!t[j])
{
a = min(a (lx[i] + ly[j] - W[i][j]));

}
}

}
}
for (int i = 0; i < num; i++)
{
if (s[i])
lx[i]

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-20 12:05  最小\
     目录           0  2017-11-18 21:25  最小\.vs\
     目录           0  2017-11-18 21:25  最小\.vs\最小\
     目录           0  2017-11-18 21:25  最小\.vs\最小\v14\
     文件       27136  2017-11-20 12:05  最小\.vs\最小\v14\.suo
     目录           0  2017-11-19 15:19  最小\Debug\
     文件       48640  2017-11-20 12:04  最小\Debug\最小.exe
     文件      743884  2017-11-20 12:04  最小\Debug\最小.ilk
     文件     1019904  2017-11-20 12:04  最小\Debug\最小.pdb
     目录           0  2017-11-20 12:05  最小\最小\
     目录           0  2017-11-20 12:04  最小\最小\Debug\
     文件      347136  2017-11-20 12:04  最小\最小\Debug\vc140.idb
     文件      348160  2017-11-20 12:04  最小\最小\Debug\vc140.pdb
     文件        1968  2017-11-20 12:04  最小\最小\Debug\最小.log
     目录           0  2017-11-20 12:04  最小\最小\Debug\最小.tlog\
     文件         614  2017-11-20 12:04  最小\最小\Debug\最小.tlog\CL.command.1.tlog
     文件       11554  2017-11-20 12:04  最小\最小\Debug\最小.tlog\CL.read.1.tlog
     文件         408  2017-11-20 12:04  最小\最小\Debug\最小.tlog\CL.write.1.tlog
     文件        1082  2017-11-20 12:04  最小\最小\Debug\最小.tlog\link.command.1.tlog
     文件        2562  2017-11-20 12:04  最小\最小\Debug\最小.tlog\link.read.1.tlog
     文件         392  2017-11-20 12:04  最小\最小\Debug\最小.tlog\link.write.1.tlog
     文件         212  2017-11-20 12:04  最小\最小\Debug\最小.tlog\最小.lastbuildstate
     文件       55845  2017-11-20 12:04  最小\最小\Debug\源.obj
     文件       54819  2017-11-19 16:28  最小\最小\Debug\源.obj.enc
     文件          14  2015-09-20 17:20  最小\最小\head.h
     文件        9086  2017-11-19 20:39  最小\最小\long640.txt
     文件       10558  2017-11-18 16:09  最小\最小\uestc1.txt
     文件        8961  2017-11-19 17:29  最小\最小\uestc640.txt
     文件        7375  2017-11-19 15:19  最小\最小\最小.vcxproj
     文件         944  2017-11-19 15:19  最小\最小\最小.vcxproj.filters
     文件        7241  2017-11-20 12:05  最小\最小\源.cpp
............此处省略2个文件信息

评论

共有 条评论