分治法计算Voronoi图
分治法计算Voronoi图
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12570 2016-07-11 21:04 VoronoiDACConvexHull.cpp
文件 1450 2007-01-04 00:58 VoronoiDACConvexHull.h
文件 8284 2016-07-11 21:04 VoronoiDACDebugBuildLog.htm
文件 39755 2016-07-11 21:04 VoronoiDACDebugConvexHull.obj
文件 0 2016-07-11 21:04 VoronoiDACDebugConvexHull.sbr
文件 18640 2016-07-11 21:02 VoronoiDACDebuginputdlg.obj
文件 0 2016-07-11 21:02 VoronoiDACDebuginputdlg.sbr
文件 36108 2016-07-11 21:02 VoronoiDACDebugMainFrm.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugMainFrm.sbr
文件 67 2016-07-11 21:04 VoronoiDACDebugmt.dep
文件 38698 2016-07-11 21:02 VoronoiDACDebugShape.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugShape.sbr
文件 465407 2016-07-11 21:02 VoronoiDACDebugStdAfx.obj
文件 3356663 2016-07-11 21:02 VoronoiDACDebugStdAfx.sbr
文件 535552 2016-07-11 21:04 VoronoiDACDebugvc90.idb
文件 2158592 2016-07-11 21:04 VoronoiDACDebugvc90.pdb
文件 133781 2016-07-11 21:02 VoronoiDACDebugVoronoi.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugVoronoi.sbr
文件 7728128 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.bsc
文件 149504 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.exe
文件 861 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.exe.intermediate.manifest
文件 36781 2016-07-11 21:02 VoronoiDACDebugVoronoiDAC.obj
文件 28508160 2016-07-11 21:02 VoronoiDACDebugVoronoiDAC.pch
文件 3697664 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.pdb
文件 8392 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.res
文件 0 2016-07-11 21:02 VoronoiDACDebugVoronoiDAC.sbr
文件 79144 2016-07-11 21:03 VoronoiDACDebugVoronoiDACDoc.obj
文件 0 2016-07-11 21:03 VoronoiDACDebugVoronoiDACDoc.sbr
文件 111782 2016-07-11 21:02 VoronoiDACDebugVoronoiDACView.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugVoronoiDACView.sbr
............此处省略54个文件信息
#include “StdAfx.h“
#include “iostream“
#include “stdio.h“
#include “conio.h“
#include “malloc.h“
#include “ConvexHull.h“
//struct edge;
//struct site;
//struct vertex;
//struct face ;
//判断(x3y3)是不是在(x1y1)(x2y2)连线的左边.以(x1y1)为出发点.
int ToLeft(double x1 double y1 double x2 double y2 double x3 double y3)
{
/*
(
a.x * b.y - a.y * b.x
+ b.x * c.y - b.y * c.x
+ c.x * a.y - c.y * a.x);
*/
double itemp = x1 * y2 - y1 * x2
+ x2 * y3 - y2 * x3
+ x3 * y1 - y3 * x1;
return itemp <= 0 ;
}
convex::convex()
{
m_pFirstPoint = NULL;
m_iCount = 0;
m_pLeftMostPoint = NULL;
m_pRightMostPoint = NULL;
}
convex::convex( int iCount)
{
//为点分配空间
m_pFirstPoint = (point_chain *)malloc(iCount * sizeof(point_chain));
m_iCount = 0;
//初始化最右边和最左边的点为空
m_pLeftMostPoint = NULL;
m_pRightMostPoint = NULL;
}
//用三个点构造一个凸包
convex::convex( site * pFirstSite site * pSecondSite site * pThirdSite)
{
//生成三个元素
point_chain * pFirstChain = new point_chain;
point_chain * pSecondChain = new point_chain;
point_chain * pThirdChain = new point_chain;
// site * pLeftSite ;
// site * pMidSite ;
// site * pRightSite;
pFirstChain->pSite = pFirstSite;
pSecondChain->pSite = pSecondSite;
pThirdChain->pSite = pThirdSite;
if (ToLeft(pFirstSite->xpFirstSite->ypSecondSite->xpSecondSite->ypThirdSite->xpThirdSite->y) > 0)
{
pThirdChain->next = pSecondChain;
pSecondChain->next = pFirstChain;
pFirstChain->next = pThirdChain;
pFirstChain->previous = pSecondChain;
pSecondChain->previous = pThirdChain;
pThirdChain->previous = pFirstChain;
}
else
{
pThirdChain->next = pFirstChain;
pSecondChain->next = pThirdChain;
pFirstChain->next = pSecondChain;
pFirstChain->previous = pThirdChain;
pSecondChain->previous = pFirstChain;
pThirdChain->previous = pSecondChain;
}
if (pFirstSite->x < pSecondSite->x ||( pFirstSite->x == pSecondSite->x && pFirstSite->y < pSecondSite->y))
{
m_pLeftMostPoint = pFirstChain;
}
else
{
m_pLeftMostPoint = pSecondChain;
}
if (m_pLeftMostPoint->pSite->x > pThirdSite->x || (m_pLeftMostPoint->pSite->x == pThirdSite->x) && m_pLeftMostPoint->pSite->y > pThirdSite->y)
{
m_pLeftMostPoint = pThirdChain;
}
//最右边
if (pFirstSite->x > pSecondSite->x ||( pFirstSite->x == pSecondSite->x && pFirstSite->y > pSecondSite->y))
{
m_pRightMostPoint = pFirstChain;
}
else
{
m_pRightMostPoint = pSecondChain;
}
if (m_pRightMostPoint->pSite->x < pThirdSite->x || (m_pRightMostPoint->pSite->x == pThirdSite->x) && m_pRightMostPoint->pSite->y < pThirdSite->y)
{
m_pRightMostPoint = pThirdChain;
}
m_pFirstPoint = pFirstChain;
m_iCount = 3;//三个元素
}
//用两个点构造一个凸包
convex::convex( site * pFirstSite site * pSecondSite)
{
point_chain * pFirstChain = new point_chain;
point_chain * pSecondChain = new point_chain;
if(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12570 2016-07-11 21:04 VoronoiDACConvexHull.cpp
文件 1450 2007-01-04 00:58 VoronoiDACConvexHull.h
文件 8284 2016-07-11 21:04 VoronoiDACDebugBuildLog.htm
文件 39755 2016-07-11 21:04 VoronoiDACDebugConvexHull.obj
文件 0 2016-07-11 21:04 VoronoiDACDebugConvexHull.sbr
文件 18640 2016-07-11 21:02 VoronoiDACDebuginputdlg.obj
文件 0 2016-07-11 21:02 VoronoiDACDebuginputdlg.sbr
文件 36108 2016-07-11 21:02 VoronoiDACDebugMainFrm.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugMainFrm.sbr
文件 67 2016-07-11 21:04 VoronoiDACDebugmt.dep
文件 38698 2016-07-11 21:02 VoronoiDACDebugShape.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugShape.sbr
文件 465407 2016-07-11 21:02 VoronoiDACDebugStdAfx.obj
文件 3356663 2016-07-11 21:02 VoronoiDACDebugStdAfx.sbr
文件 535552 2016-07-11 21:04 VoronoiDACDebugvc90.idb
文件 2158592 2016-07-11 21:04 VoronoiDACDebugvc90.pdb
文件 133781 2016-07-11 21:02 VoronoiDACDebugVoronoi.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugVoronoi.sbr
文件 7728128 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.bsc
文件 149504 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.exe
文件 861 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.exe.intermediate.manifest
文件 36781 2016-07-11 21:02 VoronoiDACDebugVoronoiDAC.obj
文件 28508160 2016-07-11 21:02 VoronoiDACDebugVoronoiDAC.pch
文件 3697664 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.pdb
文件 8392 2016-07-11 21:04 VoronoiDACDebugVoronoiDAC.res
文件 0 2016-07-11 21:02 VoronoiDACDebugVoronoiDAC.sbr
文件 79144 2016-07-11 21:03 VoronoiDACDebugVoronoiDACDoc.obj
文件 0 2016-07-11 21:03 VoronoiDACDebugVoronoiDACDoc.sbr
文件 111782 2016-07-11 21:02 VoronoiDACDebugVoronoiDACView.obj
文件 0 2016-07-11 21:02 VoronoiDACDebugVoronoiDACView.sbr
............此处省略54个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)