资源简介
智能交通系统(ITS)已经是一个非常活跃的研究领域,是一项涉及众多组织协调合作,共同研究、开发、实施、调控的大系统。现代系统仿真技术为智能交通系统的发展提供了更多的先进技术和分析手段。
系统仿真,是以控制论、相似原理和计算机技术为基础,借助系统模型对系统或未来系统进行实验研究的一门综合性新兴技术。利用系统仿真技术,研究系统的运行状态及其随时间变化的过程,并通过对仿真运行过程的观察和统计,得到被仿真系统的仿真输出参数和基本特性,以此来估计和推断现有系统或未来系统的真实参数和真实性能,这个过程称为系统仿真过程。而交通流理论既要考虑总体流动特性的宏观模型,也要考虑单一车辆行为的微观模型,是一门运用物理学和数学工具描述交通特性的科学。研究的方法包括跟驰模型、动力学模型、动力论方法及元胞自动机方法等。交通流仿真平台应该综合比较先进的技术来为系统仿真提供基本的的交通流理论模型和方法,且能够扩展方法,并使用想象力综合平台分析的手段和方法验证想法并且得到实验的结果,从而为某项具体实验节省费用和时间。
代码片段和文件信息
#include “stdafx.h“
#include “3ds.h“
#include “Texture.h“
// 构造函数
C3DSModel::C3DSModel()
{
// 初始化文件指针
m_FilePtr = NULL;
// 定义一个默认的材质(灰色)
tMaterial defaultMat;
defaultMat.isTexMat = false;
strcpy(defaultMat.matName.string “5DG_Default“);
defaultMat.color[0] = 192;
defaultMat.color[1] = 192;
defaultMat.color[2] = 192;
m_3DModel.pMaterials.push_back(defaultMat);
// 初始化保存3DS模型的结构体
m_3DModel.numOfMaterials = 1;
m_3DModel.numOfobjects = 0;
}
// 析构函数
C3DSModel::~C3DSModel()
{
m_3DModel.pMaterials.clear();
m_3DModel.pobject.clear();
}
// 载入3ds文件
BOOL C3DSModel::Load(char *strFileName)
{
char strMessage[128] = {0};
tChunk chunk = {0};
// 打开文件
m_FilePtr = fopen(strFileName“rb“);
// 如果文件打开失败
if (!m_FilePtr)
{
sprintf(strMessage “3DS文件 %s 不存在!“ strFileName);
MessageBox(NULL strMessage “Error“ MB_OK);
return false;
}
// 读取3ds文件的第一个Chunk
ReadChunk(&chunk);
// 检查是否是3ds文件
if (chunk.ID != PRIMARY)
{
sprintf(strMessage “读取文件 %s 失败!“ strFileName);
MessageBox(NULL strMessage “Error“ MB_OK);
fclose(m_FilePtr);
return false;
}
// 开始读取3ds文件
ReadPrimary(chunk.length-6);
// 计算每个顶点的法线量
ComputeNormals();
// 关闭打开的文件
fclose(m_FilePtr);
m_FilePtr = NULL;
// 对有纹理的材质载入该纹理
for (int i=0; i {
if (m_3DModel.pMaterials[i].isTexMat)
{
if (!BuildTexture(m_3DModel.pMaterials[i].mapName.string m_3DModel.pMaterials[i].texureId))
{
// 纹理载入失败
sprintf(strMessage “3DS纹理文件载入失败: %s !“ m_3DModel.pMaterials[i].mapName.string);
MessageBox(NULL strMessage “Error“ MB_OK);
}
}
}
return true;
}
// 从文件中读取1个字节
BYTE C3DSModel::ReadByte(void)
{
BYTE result = 0;
fread(&result 1 1 m_FilePtr);
return result;
}
// 从文件中读取2个字节
WORD C3DSModel::ReadWord(void)
{
return ReadByte() + (ReadByte()<<8);
}
// 从文件中读取4个字节
UINT C3DSModel::ReadUint(void)
{
return ReadWord() + (ReadWord()<<16);
}
// 从文件中读取浮点数
float C3DSModel::ReadFloat(void)
{
float result;
fread(&result sizeof(float) 1 m_FilePtr);
return result;
}
// 从文件中读取字符串(返回字符串长度)
UINT C3DSModel::ReadString(STRING *pStr)
{
int n=0;
while ((pStr->string[n++]=ReadByte()) != 0)
;
return n;
}
// 读取3ds的一个Chunk信息
void C3DSModel::ReadChunk(tChunk *pChunk)
{
fread(&pChunk->ID 1 2 m_FilePtr);
fread(&pChunk->length 1 4 m_FilePtr);
}
// 读取3ds文件主要Chunk
UINT C3DSModel::ReadPrimary(UINT n)
{
UINT count = 0; // 该Chunk内容已读取的字节计数
tChunk chunk = {0}; // 用以保存子Chunk的内容
while (count < n)
{
ReadChunk(&chunk);
switch (chunk.ID)
{
case PRIM_EDIT:
ReadEdit(chunk.length-6);
break;
//case PRIM_KEY:
// ReadKeyframe(chunk.length-6);
// break;
default:
fseek(m_FilePtr chunk.length-6 SEEK_CUR);
break;
}
count += chunk.length;
}
return count;
}
// 读取3ds物体主编辑Chunk
UINT C3DSModel::ReadEdit(UINT n)
{
UINT count = 0;
tChunk
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13745 2006-01-12 09:30 钱波师兄\CGraNew\3ds.cpp
文件 4828 2006-01-12 09:24 钱波师兄\CGraNew\3ds.h
文件 1608 2005-11-30 14:10 钱波师兄\CGraNew\aBAK.txt
文件 6894 2005-12-03 07:39 钱波师兄\CGraNew\AIManager.cpp
文件 717 2005-12-02 16:12 钱波师兄\CGraNew\AIManager.h
文件 1167 2005-05-14 10:04 钱波师兄\CGraNew\AIPerson.cpp
文件 685 2005-05-14 10:04 钱波师兄\CGraNew\AIPerson.h
文件 3662 2005-01-16 00:33 钱波师兄\CGraNew\bitmap.h
文件 94953 1996-05-13 01:39 钱波师兄\CGraNew\bluecar.3DS
文件 5412 2005-12-03 08:05 钱波师兄\CGraNew\Camera.cpp
文件 1595 2005-11-09 22:22 钱波师兄\CGraNew\Camera.h
文件 94 2006-01-08 09:45 钱波师兄\CGraNew\Car.cpp
文件 73 2006-01-08 09:45 钱波师兄\CGraNew\Car.h
文件 542 2007-10-13 00:03 钱波师兄\CGraNew\CoorDlg.htm
文件 4 2005-07-14 11:01 钱波师兄\CGraNew\Data\dat\config.dat
..A.SH. 9 2009-04-19 17:04 钱波师兄\CGraNew\Data\dat\_desktop.ini
文件 2287 2006-01-11 20:06 钱波师兄\CGraNew\Data\FuzzyRule.txt
文件 196662 2004-09-01 10:26 钱波师兄\CGraNew\Data\Ground\CACTUS1.BMP
文件 269606 2006-01-10 10:18 钱波师兄\CGraNew\Data\Ground\grassx.jpg
文件 263222 2005-04-05 16:24 钱波师兄\CGraNew\Data\Ground\Ground2.BMP
文件 344512 2006-01-09 23:10 钱波师兄\CGraNew\Data\Ground\Ground3.jpg
文件 24310 2004-07-30 17:29 钱波师兄\CGraNew\Data\Ground\Insulate.jpg
文件 122936 2006-01-10 20:37 钱波师兄\CGraNew\Data\Ground\Insulate1.bmp
文件 98360 2005-08-06 08:06 钱波师兄\CGraNew\Data\Ground\symbol.bmp
..A.SH. 9 2009-04-19 17:04 钱波师兄\CGraNew\Data\Ground\_desktop.ini
文件 19374 2006-01-10 12:22 钱波师兄\CGraNew\Data\Road.jpg
文件 33846 2005-04-07 00:28 钱波师兄\CGraNew\Data\Sky\4FRONT.BMP
文件 33846 2005-04-07 00:28 钱波师兄\CGraNew\Data\Sky\4LEFT.BMP
文件 33846 2005-04-07 00:28 钱波师兄\CGraNew\Data\Sky\4RBACK.BMP
文件 33846 2005-04-07 00:28 钱波师兄\CGraNew\Data\Sky\4RIGHT.BMP
............此处省略2060个文件信息
相关资源
- 高速公路货运量常期预测的类别分析
- 基于二维元胞自动机的交通流模拟分
- 交通优化相关理论与参数分析
- 高速公路计重收费动态称重的应用研
- 基于遗传算法的小波神经网络交通流
- 基于卡尔曼方法的预测短时交通流量
- 高速公路交通流量预测
- 课程设计_高速公路收费系统
- 基于神经网络的城市交通流预测
- 元胞自动机实现交通流模拟
- 基于NetLogo的终端区交通流仿真
- 基于遗传算法的小波神经网络交通流
- 基于LabVIEW的二级倒立摆控制系统三维
- 交通流NASch模型
- 元胞自动机交通流模拟
- 交通流模拟元胞自动机换道模型代码
- 2001B 逃避飓风模型
- 高速公路ETC设计系统
- 基于网络流敏感性的潮汐车道对路网
- 宏观介观微观交通流建模方法比较研
- 小波神经网络的时间序列预测-短时交
- OD交通流数据预测
- 交通流分配算法
评论
共有 条评论