收藏 分销(赏)

c语言下的交通模拟灯软件开发设计毕业论文.doc

上传人:二*** 文档编号:4496324 上传时间:2024-09-25 格式:DOC 页数:52 大小:278KB
下载 相关 举报
c语言下的交通模拟灯软件开发设计毕业论文.doc_第1页
第1页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 C#语言下的交通模拟灯软件开发设计毕业论文目 录1. 绪论11.1 我国城市交通现状与改善措施11.2 课题研究的目的意义31.3 国外研究现状31.4 论文研究容52. 软件设计62.1 开发思想62.2 功能逻辑62.3 开发环境72.4 功能流程图72.5 数据结构设计82.5.1 交通灯类设计82.5.2 公路车辆类设计92.6 关键算法设计102.6.1 设置交通红绿灯亮的时间算法102.6.2 交通灯交替变亮算法112.6.3 车辆产生位置算法142.6.4 堵塞车辆减少算法152.6.5 车辆流速控制算法162.7 界面接口函数173. 软件菜单界面193.1 须知193.2

2、交通灯时间控制说明193.3 车辆随机时间说明203.4 车辆堵塞统计说明203.5 主界面204. 软件使用例子224.1 设置交通灯时间224.2 查看车辆随机时间224.3 查看堵塞车辆统计234.4 查看车辆行驶245. 结论255.1 实现功能255.2 功能不足25参考文献26致谢27附录(部分代码)28附A 南北交通灯实现代码28附B 西东车辆和路况实现代码32附C 主控制实现代码3550 / 521. 绪论1.1 我国城市交通现状与改善措施自改革开放以来,我国的城市规模和经济建设都有了飞速的发展。城市化进程在逐步加快,城市人口在急剧增加,大量流动人口涌进城市,人员出行和物资交流

3、频繁,使城市交通面临着严峻的局势。城市交通是保持城市活力最主要的基础设施,是城市生活的动脉,制约着城市经济的发展。当前,全国大中城市普遍存在着道路拥挤、车辆堵塞、交通秩序混乱的现象。我国城市的交通现状有如下几点问题:(1)城市规模逐步扩大,运输压力沉重。改革开放以来的20多年,我国取得了持续高速经济增长和大规模城市化的辉煌成就。城镇化水平从1978年的17.9%提高到2002年的39.1%,年均增长0.88个百分点。而大量人员出行和物资交流频繁,使城市交通面临着沉重的压力。(2)机动车增长加快,道路容量不足。最近几年城市机动车增长速度迅速,轿车、客车、面包车以至于摩托车增幅年平均在15%以上。

4、而与之对应的人均道路面积一直处于低水平状态,虽然近十年已经有了较快发展,人均面积由2.8平方米上升到6.6平方米,仍然赶不上城市交通量年均20%的增长速度。(3)路网不合理,交通管理水平低下。我国城市路网一般都是密度低、干道间距过大、支路短缺、功能混乱,属于低速的交通系统,难以适应现代交通的需要,交通控制管理和交通安全管理的现代化设施不能满足现实的需求。(4)公共交通萎缩,出行结构不合理。从80年代后期开始,城市公共汽车交通持续萎缩,从运营效率到经营管理,从服务水平到经济效益,出现了全面的衰退。虽然公交车辆好线路长度增长许多,但公交车辆的运营速度不断下降,新增的运力被运输效率低下所抵消。由于公

5、共交通受到冲击,被转移出来的乘客便要寻找其他出行方式,加剧出行结构的不合理。因此应加快城市交通系统的发展,充分发展城市交通方便、快捷、载运量大的特点。因此应从以下几方面改善城市现有公共汽车交通:(1)城市公共汽车交通线路城市公共交通线路应与城市主要客流流向一致,在城市中公共交通线路应分设为主线和支线。主线主要是连接客流集散点和交通枢纽,在百万人口以上的大城市中,客流集中的客运枢纽应设置快速直达公共交通线路。一般可以通过调查的方式获取直线接的数据来综合规划且应与城市总体规划协同进行。专用车道的使用中,尽理使专用车道与其它车道隔离,可使用专用的隔离带并配有专用车道监视系统。(2)城市公共交通线路网

6、密度通常汽车城市公共交通线路的规划密度,在市中心3-4km/km2,城市边缘地区2-2.5km/km2,干线之间的距离为600-1000m,步行时间不超过4-6min为宜,城市市区公共汽车要线路的长度宜为长度宜为8-12km.线路过长则会造成乘客候车时间长,公交车到站准时率不好等一系列的弊端。(3)公共汽车调度与组织车辆调度优化是决定公共交通正常和高效运转的重要因素。可以根据客流的变化和具体的营运条件与其他条例,安排不同车型的车辆和行车组织路线,如在高峰小时客流集中的干线上用大容量的车辆组织大站距快车或区间车,在客流较大而街道窄,转弯半径小而客流集中的街区用短车身公共汽车。此外还可以利用一些智

7、能化的管理手段。例如:公共交通车辆自动临界控系统(国际统称AVMcautomaticvehiclemonitoringsystem),它能够在调度室之间建立起高效的信息通道,有效沟通两者之间联系(GIS)。GPS主要用由车辆调度,目标跟踪和动态交通流数据采集上,GIS应用于交通地理信息的可视化管理与交通信息的动态显示上。此外还可以使用可变信息情报板、广播、路边公用、公共计算机网络终端,使已在途中的公交用户在路边、公交车站或站台上与公交车辆上,获取实时公交出行服务信息。(4)协调公交汽车与出租汽车运营管理出租汽车为乘客提供门到门服务的较高层公共交通工具。它的使用率不与公共汽车且能耗高,废气污染严

8、重,完成单位运量所占用的道路时空资源大等弊端,因此应根据城市发展水平和实际需要来加强出租车行业管理和经营管理,使其公交汽车协调发展。(5)车辆技术的改进我国公共汽车按载客量分小型(载客60-90)人,中型(载客90-130人)和大型铰接车(载客130-180人)应根据实际客运量来调配恰当车型以减少车辆空资源率。此外还应满足乘客对城市公共汽车乘座舒适性和方便乘客上下车的要求。开发独立悬架式,专用公共汽车底盘和低地板城市公共汽车,使公交车的踏板和通道离地高度高以降低汽车重心来满遗产乘坐舒适性的要求。还应适时更换车辆,一般公共汽车最正确使用年限为56年。超期服役的公共汽车会产生噪声大、尾气多、机械故

9、障多等一系列的缺点,随着科技发展,许多国家也研发出诸多应用了高科技成果的现代公交汽车。例如:日本发明了下一代“中距离城市间交通系统的无人驾驶公共汽车”。德国研制开发的一种城市用公共客运车辆,这种新型车可以沿固定线路运行且把传统公共汽车和有轨电车的优点结合起来。(6)公共交通优先发展策略城市公共交通作为道路空间点用要求少,环境污染低,能源消耗小的交通应优先发展,此外我国城市多属密集型,因此,以公共交通系统为主,其它交通形式为辅的形式是我国城市客运交通结构必然的发展方向。常用的公交优先方式有两类:根据实际情况设置公共汽车专用车道或公交专用道路等。交叉口化先;交叉口上的公交优先措施主要有专门的公交相

10、位,设置专门的公交车入口车道以与其他一些特殊的公交车优先排队与通行措施等。城市公共汽车交通是城市交通系统的主体,是沟通着社会生产各个环节的重要环节,也是决定城市建设各发展的重要基础之一,因此加快城市公共汽车发展。1.2 课题研究的目的意义在现代社会中,交通问题已成为影响和制约国民经济发展的重大因素,而城市交叉口是城市道路网络的关节点,对其进行深入的研究是解决城市交通问题的关键所在。城市交叉口中影响交通车流量最大的主要就是各路口各方向的交通灯的红、绿灯亮的时间,如果各方向的红绿灯亮的时间不合理,不以实际各方向车流量的多少而设置红绿灯亮的时间,就会出现很严重的交通堵塞情况。因此,设计出城市交通灯各

11、灯的开启时间,使得车流量最大,这对于城市交通问题的解决,是有着积极推动作用的,即在有限的道路资源条件下,尽可能大的提高交通运输能力。1.3 国外研究现状交通模式理论与最新进展反映了交通要素、交通结构与交通效率的主要特征。发达国家自20世纪40年代开始,相继制定出台了有关政策来引导城市交通规划和建设 这些不同的交通发展政策形成了不同的交通模式,概括起来大致分为三种类型:第一类是依赖小汽车发展的城市,发达国家如美国,小汽车拥有率和使用率都很高,但是已经越来越受到能源短缺的影响;发展中国家如泰国,虽然人均小汽车拥有水平与发达国家相比还相差不少,但对小汽车的拥有和使用却不加任何限制,已大大超出路网与环

12、境的承受能力。第二类是小汽车与发达的轨道交通同步协调发展的城市,如英国伦敦、法国巴黎、日本东京和大阪等,小汽车拥有率不低于北美城市,但是使用率很低,主要靠地铁来通勤。第三类城市主要依赖公共交通,抑制小汽车增长和使用,以此来支持城市高密度发展,如新加坡、XX。面对日益严重的交通拥堵问题,世界各国都在积极探索有效的交通模式。美XX取TOD模式和新都市主义,发挥交通先导的作用,协调交通与土地利用的关系,促进了城市发展与城市交通的协调。英国伦敦采取设置公交车道、创造优先区域、鼓励停车换乘和中心区拥挤收费等措施,形成了一套发展公共交通的有效模式。日本东京大力实施以轨道交通为中心的公共交通优先发展战略,轨

13、道交通成为绝大多数东京市民的首选,有效地缓解了交通拥挤现象。中国的一些大城市,通过吸收和借鉴国际经验,积极倡导建设轨道交通、公交专用道等,通过大力发展公共交通来缓解日益严峻的城市交通问题,优先发展城市公共交通成为中国城市交通发展的方向。目前,我国城市交通管理体制主要有以下三种模式:一是由交通、城建、市政、公安等部门对城市交通实施交叉管理的传统管理模式;二是由交通部门对城乡道路运输实施一体化管理的模式;三是“一城一交”综合交通管理模式。从以上三种模式的实施效果来看,模式一:由交通、市政、城建、公安等部门对交通实施交叉管理。交通局负责公路运输、公路和场站规划建设以与水路交通运输的行业管理;市政公用

14、局负责城市公交和城市客运出租汽车的管理;市城建部门负责城区的道路规划与建设。这种模式由于部门管理分头领导、职能交叉、分工不明,因而政出多门、政令冲突;主要实施城市有、等城市。模式二:实行城乡道路运输一体化管理。典型特征是:实现了交通部门对交通的管理;整合了道路运输资源,但不具备对城乡交通统一战略、统一规划、统一政策和统一建设的职能。这种模式也最普遍,主要有、乌鲁木齐、等市在实施。模式三:实行“一城一交”综合交通管理模式。该模式主要职能:市交通委员会是市政府组成部门,负责交通运输规划、道路和水路运输、城市公交、出租汽车的行业管理,并负责对城市的铁路、民航等其他交通方式的协调。典型特征是:实现了道

15、路运输管理的一体化,但在交通基础设施的建设养护方面尚未形成集中统一管理。代表城市有、。此外,我国一些城市还进行了公交管理体制的改革试点,取得了较理想的效果。如#的“三制”改革,即先是票制改革,取消月票,实行普票。其次是机制改革,优化财政补贴,实现良性循环。再次是体制改革,实行多家经营,形成竞争格局。改革后,传统计划经济体制下的“等、靠、要”变成了市场经济条件下的“争、创、抢”(争客流、创效益、抢市场);企业的经营思路、分配机制、管理思想更加灵活;班次、车辆、线路都得到了有效保证,司乘人员服务更热情、乘客对公交的满意程度显著提高;公交系统连续多年大幅度亏损的势头得到了有力遏制,部分企业做到了收支

16、平衡。1.4 论文研究容本文通过设计一款模拟城市交叉口交通灯软件来管理交通,模拟交通系统运行情况的具体情况,在一定的假设情况下,制定一些符合实际和遵循假设的规则,以模拟道路网络的车辆运行情况的方法,对其进行研究,也就是交通仿真模拟。交通仿真技术是利用现代系统工程和计算机仿真技术成果发展起来的新的交通研究方法,它对于描述多变的、复杂的随机性过程非常有效。通过运用这种仿真技术,在计算机的环境下得以实现,可以更有效地掌握道路交叉口的各种复杂情况,对交通灯的开启时间进行研究,设计出城市交通灯各灯的开启时间,使得车流量最大,这对于城市交通问题的解决,是有着积极推动作用的,即在有限的道路资源条件下,尽可能

17、大的提高交通运输能力。城市交通灯的开启时间间隔的问题,在一些假设的基础之上,把城市交通灯周期时间控制问题进行简化,目的是使得路口的日平均车流量最大。根据实际情况,给出车辆行驶的一套规则,利用计算机仿真技术进行模拟,得到最优交通灯的间隔时间。综上所述,本论文的容即为设计一款软件,用来模拟城市交叉口的车辆流,可以设置各方向的车辆流的多少,从而通过设置不同的红绿灯亮的时间来观查交通堵塞情况,从而根据各个交叉口的实际车辆流来得到各路口各方向最正确的交通灯的红、绿灯亮的时间,尽量避免堵塞,使得日平均车流量最大。2. 软件设计2.1 开发思想研究的主要方法是用一种计算机语言来开发交通灯模拟管理软件,然后操

18、作软件设置各方向的车辆流多少,再设置各方向的红绿灯亮的时候来观查交叉口的交通情况,从而得到比较合理的红绿灯亮的时间。交通灯模拟管理软件开发语言:C#语言。用这个语言可以开发可视化软件,给人一视觉上的感觉,能更好的观查。交通灯模拟管理软件的功能实现大概步骤:先实际观测交叉口各方向的车辆流的多少,然后设置随机生成车辆时间时隔来控制各方向的车辆流,接着设置各方向的红绿灯交换时间间隔,观查交叉口车辆的交通情况,记录堵塞程度;通过设置不同的各方向的红绿灯交换时间来观查不同的交通情况,从而得出比较适合此交叉口的红绿灯交换时间。2.2 功能逻辑交通灯模拟管理软件的假设条件:设城市的道路宽度都相等,道路上双向

19、行驶车辆,不考虑中途停车。交通灯模拟管理软件要模拟交叉口车流情况,因此需要注意一下事项:(1)异步随机生成按照各个路线行驶的车辆。例如:由南向而来去往北向的车辆- 直行车辆由西向而来去往南向的车辆- 右转车辆由东向而来去往南向的车辆- 左转车辆(2)信号灯忽略黄灯,只考虑红灯和绿灯。左转车辆受信号灯控制,右转车辆不受信号灯控制;(3)具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑;(4)南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆;(5)每辆车通过路口时间为1秒;(6)随机生成车辆时间间隔以与红绿灯交换时间间隔自定,可以设置。

20、2.3 开发环境开发语言:C#开发工具:Microsoft Visual Studio 2008运行系统:Windows系列系统2.4 功能流程图软件功能流程图如图2-1:开始设置交通灯亮的时间时间间隔为随机设置车辆出现时间隔观察交通堵塞情况分析判断不合理合理完毕图2-12.5 数据结构设计2.5.1 交通灯类设计在软件开发当中,将交通红绿灯设计为一个类,其中包括交通灯的属性和行为:属性为交通灯要呈现出红绿灯的状态,行为为交通红绿灯亮的时间和红绿灯交替的变化。交通灯类的设计如下表2-1: 交通灯类的设计 表2-1类名snTrafficLightCtrl (以南从北的交通灯为例子)实现形态类成员

21、变量/构造灯结构体struct Lightprivate Light lLight, sLight, rLight; /左行灯、直行灯、右行灯int iLGTime = 20000; /左行绿灯亮的时间int iLRTime = 106000; /左行红灯亮的时间int iSGTime = 40000; /直行绿灯亮的时间int iSRTime = 86000; /直行红灯亮的时间int currentSIndex = 0; /当前直行灯的状态int currentLIndex = 0; /当前左行灯的状态类成员函数public snTrafficLightCtrl() /构造函数public

22、 int CurrentSLightIndex /得到当前直行灯的状态public int CurrentLLightIndex /得到当前左行灯的状态public void SetLGTime(int lgTime) /设置左行绿灯亮的时间public void SetLRTime(int lrTime) /设置左行红灯亮的时间public void SetSGTime(int sgTime) /设置直行绿灯亮的时间public void SetSRTime(int srTime) /设置直行红灯亮的时间protected override void OnPaint(PaintEventAr

23、gs e)/绘图public void TurnGreen(int nLight) /控制直行红绿灯的转变public void TurnGreen2(int nLight) /控制左行红绿灯的转变private void Resize()private void timer1_Tick(object sender, EventArgs e) /控制直行红绿灯转变的定时器private void timer2_Tick(object sender, EventArgs e) /控制左行红绿灯转变的定时器private void trafficLightCtrl_Load(object send

24、er, EventArgs e)2.5.2 公路车辆类设计在软件开发当中,将公路和车辆设计为一个类,其中公路就是设计画出车道和车栏,车辆有属性和行为:属性为车辆排队的位置和当前排队的数目,行为为车辆的绘画等。公路车辆类的设计如下表2-2: 公路车辆类的设计 表2-2类名snRoadCar(以南从北的公路车辆类为例子)实现形态类成员变量int currentSCarNum = 2; /南从北直行车辆数int currentLCarNum = 1; /南从北左行车辆数int i = 0;int xL = 0; /左行车辆位置的X坐标值int xS = 0; /直行车辆位置的X坐标值int widt

25、h = 0; /公路宽度int height = 0;/公路长度public Color FillColor = Color.FromArgb(0, 0, 0);类成员函数public snRoadCar() /构造函数public int CurrentSCarNum /得到当前直行车辆数public int CurrentLCarNum /得到当前左行车辆数public void Paint(Graphics g) /绘公路和车辆private void timer1_Tick(object sender, EventArgs e) /控制直行车辆产生的定时器private void ti

26、mer2_Tick(object sender, EventArgs e) /控制左行车辆产生的定时器private void snRoadCar_Load(object sender, EventArgs e) /2.6 关键算法设计2.6.1 设置交通红绿灯亮的时间算法现实状况:众所周知,一个方向的车流分为三个小方向:向右拐、直行、向左拐;这三个方向对应着三个交通灯,每个交通灯会红、黄、绿三种颜色交替变化来控制本方向的车辆行驶,且每个灯的红绿灯持续亮的时间是不同的,需要根据实际交通情况来设置交通红绿灯亮的时间。 软件情况:此版交通灯模拟软件,暂不考虑黄灯亮的情况,因此此版软件能设置各个方向

27、的红灯和绿灯亮的时间。算法思想:如以下图2-2: 北 d a b 西东 c 南图2-2如下图,南北直行的时间等于南北左行时间加上东西方向直行时间与左行时间之和,即a=b+c+d。算法思路:l 在界面提供一个可以供使用人填写控制南北直行的交通灯红绿灯亮的时间的文字框,当点击确定时取出所填的数字值;然后根据以下算法算出其余方向红绿灯亮的时间:(1)南北左行绿灯亮的时间为南北直行绿灯亮的时间的一半;(2)南北左行红灯亮的时间为南北直行红绿灯亮的时间之和减去左行绿灯亮的时间;(3)东西左行绿灯亮的时间为南北左行红灯亮的时间减去南北直行后再除以3;(4)东西直行绿灯亮的时间为东西左行绿灯亮的时间的2倍;

28、(5)东西直行红灯亮的时间为南北直行和左行绿灯亮的时间之和加上东西左行绿灯亮的时间;(6)东西左行红灯亮的时间为南北直行和左行绿灯量的时间之和加上东西直行绿灯亮的时间。算法代码(以南向北的交通红绿灯为例):1. /得到南北直行时间2. iNSSRedTime=Convert.ToInt32(nsSRedTime.Text);/853. iNSSGreenTime=Convert.ToInt32(nsSGreenTime.Text);/404. 5. /得到南北左行时间6. iNSLGreenTime=iNSSGreenTime/2;/207. iNSLRedTime=iNSSRedTime+i

29、NSSGreenTime-iNSLGreenTime;/1058. this.nsLReadTime.Text=Convert.ToString(iNSLRedTime);9. this.nsLGreenTime.Text=Convert.ToString(iNSLGreenTime);10. 11. /得到东西直行时间12. iWESRedTime=iNSSGreenTime+iNSLGreenTime;/7513. iWESGreenTime=(iNSLRedTime-iNSSGreenTime-iNSLGreenTime)/3*2;/3014. this.weSRedTime.Text=

30、Convert.ToString(iWESRedTime);15. this.weSGreenTime.Text=Convert.ToString(iWESGreenTime);16. 17. /得到东西左行时间18. iWELGreenTime=iWESGreenTime/2;/1519. iWELRedTime=iWESRedTime+iWESGreenTime-iWELGreenTime;/9020. this.weLRedTime.Text=Convert.ToString(iWELRedTime);21. this.weLGreenTime.Text=Convert.ToString

31、(iWELGreenTime);2.6.2 交通灯交替变亮算法现实状况:众所周知,一个方向的车流分为三个小方向:向右拐、直行、向左拐;这三个方向对应着三个交通灯,每个交通灯会红、黄、绿三种颜色交替变化来控制本方向的车辆行驶,而且有几点需要特别注意:(1)右拐车辆不受交通灯限制,右拐交通灯一直为绿灯亮;(2)当直行交通灯为绿灯时,左行交通灯为红灯;(3)当直行交通灯从绿灯变为红灯时,左行交通灯变为绿灯;(4)当左行交通灯从绿灯变为红灯时,直行交通灯仍为红灯;(5)南北直行、南北左行、东西直行、东西左行在同一时间只能有一个方向的灯为绿灯,其余灯为红灯。软件情况:此版交通灯模拟软件,暂不考虑黄灯亮的

32、情况,其余与现实完全相同;算法思想:l 南北直行、南北左行、东西直行、东西左行每个方向设置一个定时器,负责交通灯红绿灯转变(1)先设置南北直行绿灯先亮,其余方向为红灯亮;(2)设置南北左行定时器时间为南北直行绿灯亮的时间,等南北直行变为红灯时,南北左行就会变为绿灯;(3)设置东西直行定时器时间为南北直行和左行绿灯亮的时间之和,等南北左行变为红灯时,东西直行就会变为绿灯;(4)设置东西左行定时器时间为南北直行和左行绿灯亮的时间之和加上东西直行绿灯亮的时间,等东西直行变为红灯时,东西左行就会变为绿灯;(5)等轮完一圈后,设置各个方向红灯和绿灯各自亮的时间为定时器的时间即可。算法代码(以南向北交通灯

33、红绿灯为例):1. /控制直行红绿灯交替变亮的定时器2. privatevoidtimer1_Tick(objectsender,EventArgse)3. 4. intnLight=currentSIndex+1;5. if(nLight2)6. 7. nLight=1;8. 9. currentSIndex=nLight;10. TurnGreen(nLight);11. this.Invalidate();/重新绘制控件12. 13. 14. /控制直行灯的变化15. publicvoidTurnGreen(intnLight)16. 17. if(nLight=1)18. 19. sL

34、ight.FillColor=Color.FromArgb(0,255,0);20. timer1.Interval=iSGTime;21. 22. else23. 24. sLight.FillColor=Color.FromArgb(255,0,0);25. timer1.Interval=iSRTime;26. 27. 28. 29. /控制左行红绿灯交替变亮的定时器30. privatevoidtimer2_Tick(objectsender,EventArgse)31. 32. intnLight=currentLIndex+1;33. if(nLight2)34. 35. nLig

35、ht=1;36. 37. currentLIndex=nLight;38. TurnGreen2(nLight);39. this.Invalidate();/重新绘制控件40. 41.42. /控制左行灯的变化43. publicvoidTurnGreen2(intnLight)44. 45. if(nLight=1)46. 47. lLight.FillColor=Color.FromArgb(0,255,0);48. timer2.Interval=iLGTime;49. 50. else51. 52. lLight.FillColor=Color.FromArgb(255,0,0);5

36、3. timer2.Interval=iLRTime;54. 55. 2.6.3 车辆产生位置算法现实状况:众所周知,公路上车辆要是堵塞的话就会排队,车辆产生的位置是不同的。 软件情况:此版交通灯模拟软件,根据当时堵塞车辆数来确定产生的位置,但是车辆长度只能设置为固定的;算法思想:l 根据堵塞车辆数来确定产生的位置:(1)先调用算法得到方向目前堵塞车辆数;(2)设置车辆长度和车间距;(3)通过车辆数乘以车辆长度再加上所有的车间距,得到x或y坐标值。算法代码:1. currentSCarNum=this.snRoadCar1.CurrentSCarNum;/得到直行车辆数2. currentLC

37、arNum=this.snRoadCar1.CurrentLCarNum;/得到左行车辆数3.4. yS=this.Height/24*23;/直行堵塞车辆产生的Y坐标5. yL=this.Height/24*17;/左行堵塞车辆产生的Y坐标6. width=this.Height/12;7. height=this.Height/12;8.9. /画直行车辆10. for(i=1;i=currentSCarNum;i+)11. 12. g.DrawRectangle(Pens.Black,(this.Width-width*i)-2*i/*直行堵塞车辆产生的X坐标*/,yS,width,he

38、ight);13. g.FillRectangle(newSolidBrush(this.FillColor),(this.Width-width*i)-2*i,yS,width,height);14. 15.16. /画左行车辆17. for(i=1;i=1)29. this.snRoadCar1.CurrentSCarNum=snSCarNum-1;30. 31. snLightState=this.snTrafficLightCtrl1.CurrentLLightIndex;32. snLCarNum=this.snRoadCar1.CurrentLCarNum;33. /判断左行方向交

39、通灯是否为绿灯34. if(snLightState=1)35. 36. if(snLCarNum=1)37. this.snRoadCar1.CurrentLCarNum=snLCarNum-1;38. 2.6.5 车辆流速控制算法现实状况:众所周知,各个方向车辆产生时间时隔是不同的,是随机的。 软件情况:此版交通灯模拟软件,设置各个方向车辆产生时间为随机的,但是不能让用户设置,是固定随机围;算法思想:l 每个方向的车辆控制都设置一个定时器,当定时器发动时,就产生一辆车辆:(1)设置南北直行车辆随机时间为510秒;(2)设置南北左行车辆随机时间为1015秒;(3)设置东西直行车辆随机时间为38秒;(4)设置东西左行车

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服