资源简介

智能交通系统(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个文件信息

评论

共有 条评论