Giter VIP home page Giter VIP logo

navigation's Introduction

navigation

车载导航系统是在城市中驾车的好帮手,不仅能够计算出到达目的地的最优路线,而且可以显示当前位置附近的一些附加信息,比如附近的加油站,餐馆等等。

目标用户:汽车司机。

数据配置:导航系统中的地图可以抽象为一个图,地点信息和路径信息可以抽象为图中的顶点和边。

a) 随机产生N个二维平面上的顶点(N>=10000),每个顶点对应地图中的一个地点

b) 对于每个地点x,随机建立若干个连边到x附近的地点。每条连边代表一条路径,路径的长度等于边的两个顶点之间的二维坐标距离。

c) 模拟数据必须保证,产生的图是一个连通图。

功能要求:

F1. 地图显示功能。输入一个坐标,显示距离该坐标最近的100个顶点以及相关联的边。

F2. 地图缩放功能。提示:地图缩的越小,屏幕上显示的点数就越多,但是太多的点,会看不清楚。所以可以考虑只选择一个单元区域内只显示一个代表的点。

F3. 任意指定两个地点A和B,能计算出A到B的最短路径。并将该最短路径经过的顶点以及连边显示出来。

F4. 模拟车流。请为每条连边增加两个属性:车容量v(饱和状态下这条路所能容纳的汽车的数量)、当前在这条路上的车辆数目n(n>v时为超负荷运作)。假设该路的长度为L,则该路的通行时间可模拟为cLf(n/v),其中c是常数;f(x)是一个分段函数, x小于等于某个常数时,f(x) = 1,当x大于该常数时,f(x) = 1+ex。每条道路的车容量v和道路的长度L为预先指定的固定参数。请模拟产生汽车在地图中行驶,为简化模型假设在同一条路上每架汽车穿越该路的时间均等于cLf(n/v)。要求实现模拟车流的动态变化,任意时刻,给定一个坐标,能在界面上显示该坐标附近的所有路径,并动态显示各个路径上的车流量的大小(可用不同颜色或其他方法区分车流量的大小级别)。

F5. 综合考虑路况的最短路径。任意时刻,指定两个地点A和B,能根据当前的路况,计算出从A到B最短行车时间,以及相应的最佳路径,并在界面上,将该最短路径经过的顶点以及连边显示出来。

Windows,基于QT5实现。

查询指定坐标的最近100个点及其连边

在程序右下角输入坐标,左键单击 “最近100个点(右键单击)”。或者在展示的地图中右键双击获取;最近100个点会将其点标号展示在右边框中。

查询指定起始点的最短路

在左下角输入两个点的标号,点击 ”距离最短路“ 或者 “时间最短路” ,然后就可以获取到对应路径的时间(预估值)和距离。

车流量的展示

以颜色的方式,动态的在图中变化。

navigation's People

Contributors

echooo-294 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.