在一个二维平面上随机构造一个连通图,上面有若干个(》10000)顶点,而且有若干条连边。
现在实现如下功能:(1)输入一个坐标,显示距离该坐标最近的100个顶点以及相关联的边
(2)地图缩放功能。提示:地图缩的越小,屏幕上显示的点数就越多,但是太多的点,会看不清楚。所以可以考虑只选择一个单元区域内只显示一个代表的点。
以上是要求。小弟刚刚学MFC,不懂得实现上述功能。希望各位大大只告诉我那些点,那些边利用什么控件,要怎样表示。而且,所谓的缩放功能,怎么通过MFC实现,谢谢啦
现在实现如下功能:(1)输入一个坐标,显示距离该坐标最近的100个顶点以及相关联的边
(2)地图缩放功能。提示:地图缩的越小,屏幕上显示的点数就越多,但是太多的点,会看不清楚。所以可以考虑只选择一个单元区域内只显示一个代表的点。
以上是要求。小弟刚刚学MFC,不懂得实现上述功能。希望各位大大只告诉我那些点,那些边利用什么控件,要怎样表示。而且,所谓的缩放功能,怎么通过MFC实现,谢谢啦
2.二维平面可以定义一个二维数组,这是最简单的,如果还想加其它信息,可以定义一个类,比如:
class Info
{
float x;
float y;
CString 地名;
CString 位置;
BOOL 是否最近的点;
int 单元区号;
''''
};
3.画线用LineTo和MoveTo,画点就用画圆函数和填充函数
4.查找最短路径的算法,网上应该有,可以查现成的代码
5.因为是新手,所以可以在视图里的OnDraw函数里的参数的pDC来画,pDC->LineTo(x,y);