随笔 - 132, 文章 - 1, 评论 - 217, 阅读 - 38万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

09 2005 档案

摘要:好多朋友都问过这个问题,记得以前回答过的,现在总结一下,与大家分享。 办法共有三种: 1、当然是在其他机器上安装Vega,哈哈开玩笑。 2、是自己打包动态库,和lelicence,注意,动态库你可以随便放,只要保证你的程序能找到它(一般编程的书有教怎样找动态库的),licence文件你必须放到和你自己机器上一模一样的文件夹位置。 3、其实方法三才是正确的做法 Vega有开发版和运行版之分,平常我们大家用的就是开发版,现在最高是3.7.1,运行版就是专门用来解决vega开发的应用程序在其他机器上运行的,运行版其实上就是Vega的几个基本动态库+licence,运行版和开发版有对应关系,找美国厂家买运行版时必须提供你买开发版的用户信息,当然运行版的价钱要便宜的多的,现在运行版最高是3.6, 在开发版的机器上静态编译你的Vega程序,(运行版不提供特效、大地形管理等模块的dll,所以你必须静态编译),在project-settings-c++-General-Preprocessor definitions 阅读全文

posted @ 2005-09-21 01:18 yunbo 阅读(1549) 评论(1) 推荐(0) 编辑

摘要:在Creator中制作动态喷泉和动态的水池是采用一组图片循环显示的方法来实现的。具体设置如下: 首先要确定好几张循环显示的喷泉或水的图片。这种图片可以在max或其他三维软件中生成动态模型,输出序列图片,然后每相隔5帧取一张图片,一般取三张即可满足要求。如果是喷泉的图片必须是有Alpha通道的。 我们以做一个动态喷泉为例: 在Creator中建立一个Group节点,再在此Group节点下建立3个Object节点,每个Object中又各建立一个face。 因为现在建立的是一个喷泉,所以建立的面片应该是垂直的,如果是水面则为水平面片。所建立的三个面片必须是形状相同及等大小的,并且完全重合在一起。 依次给三个面片赋上你准备好的纹理。赋予图片纹理是要按照你所建立的面片顺序来赋予的。譬如说你的纹理为penquan-1、penquan-2、penquan-3,赋予纹理时依顺序次赋予给p1、p2、p3。这样图片循环显示时则是按照penquan-1、penquan-2、penquan-3的顺序来显示的。 给三个面片赋上纹理后选择此喷泉的group节点。打开 阅读全文

posted @ 2005-09-21 00:47 yunbo 阅读(1275) 评论(1) 推荐(0) 编辑

摘要:一、DR的应用 1、首先建立DR和应用程序 2、DR的建立包括对系统master/slave的设置,确定系统拥有的virtual pipelines 3、要实现一个工作在DR模式下的应用程序,还必须在.acf文件中增加一个 channel,pipelines,windows,pipeline ID 二、建立DR 初始化要求: ·系统用网络连接在一起 ·每个系统安装相同版本的vega prime ·MASTER要拥有运行DR的许可 ·DR的建立 ·在每个系统上开启MPI Agent ·在master系统上开启DRUtil ·对配置进行检查,确保MPI Agent 的role 分配正确,如果相应的系统的角色分配不对则在MPI AGENT 中修改。 ·为每个mpi agent 分配一个virtual monitor。 ·为验证MPI agent 配置的真确性 可以按如下方式操作:test-choose virtual monitors。 ·验证slaver可以 阅读全文

posted @ 2005-09-21 00:42 yunbo 阅读(1587) 评论(1) 推荐(0) 编辑

摘要:编程实现基于MFC的Vega程序MFCWorkVega,调用刚建立的lynx: 1建立一个单文档的MFC程序,把在zsVegaView.cpp和zsVegaView.h包含进来 2.在MFCWorkVegaView的基类由CView改为zsVegaView,下面增加调用vega 的几个必须函数 const char* CMFCWorkVegaView::getAdfName() { CMFCWorkVegaDoc* doc = (CMFCWorkVegaDoc*)GetDocument(); const char* adfName = doc-GetPathName() ; // If the filename was not given open "VegaWin.adf". if ( strlen( adfName ) == 0 ) return "ocean.adf"; else return adfName; 阅读全文

posted @ 2005-09-21 00:41 yunbo 阅读(1978) 评论(3) 推荐(0) 编辑

摘要:在进行分布交互式仿真系统开发和应用过程中,不管是进行各种形式的支撑技术的研究或相关产品的开发,还是面向应用进行分布式作战仿真系统的建设或运行管理,需要明确的关键点是:进行大规模分布式系统建设牵涉到各种技术,包括仿真算法、部队作战模拟技术、计算机网络技术、虚拟现实技术、GIS技术等各方面;无论这些技术多么复杂,或系统建设需要多个部门合作,需要每个参与工作的人员明确系统建设从时间轴将分为军事应用需求定义与分析阶段、分布式仿真系统开发调试阶段、分布式演练运行阶段三个重要时期;从参与建设和应用的人员区分将分为:军事应用需求专家、分布式系统开发调试工程师、参与分布式演练士兵或军官等不同类型的人员。在分布式系统建设的不同时期,参与工作的人员重点不同,系统建设最终目的是构成能够满足某种目的的共军事人员使用的作战仿真系统,系统对参与演练的军事人员的要求要限制在一定范围内,除必要的军事概念要求外,对仿真系统的要求应尽量减少。 一、 军事应用需求定义与分析阶段 这一阶段主要是进行军事概念模型的分析定义。需要以军事应用需求为牵引,以空间概念模型为规范要求,建立分布式仿真系统建设 阅读全文

posted @ 2005-09-21 00:39 yunbo 阅读(1868) 评论(0) 推荐(1) 编辑

摘要:运动体提供了一种在场景中控制动态实体方位的手段。和运动体有关的Vega类包括实体、运动模式、体和碰撞检测,一个运动体只能关联一个运动模式或者体,但可以同时关联多个实体和碰撞检测。 相关的属性: VGCOMMON_ENABLED VGPLYR_TYPE VGPLYR_CLASSNUM VGPLYR_TEAM VGPLYR_CSREF VGPLYR_MOTION VGPLYR_SPLINE_NAVIGATOR 相关的函数: vgPlayer* vgNewPlyr ( void ); vgPlayer* vgNewPlyrCopy ( const vgPlayer *src ); vgPlayer* vgFindPlyr ( const char *name ); vgPlayer* vgGetPlyr ( int _index ); int vgGetNumPlyr ( void ); void vgPlyrVol ( vgPlayer *plyr 阅读全文

posted @ 2005-09-21 00:31 yunbo 阅读(1842) 评论(1) 推荐(0) 编辑

摘要:1、做一个Switch下面有两个Group,一个是静止的,一个是动画Animate(喷泉那种); 2、在VP或Vega中编程实现坦克走起来后显示动画Group,停下来时显示静止Group; 3、编程控制Animate的速度,当然是根据坦克的速度来控制。 4、Switch、Animate的控制大家可以参考相关的类! 阅读全文

posted @ 2005-09-21 00:26 yunbo 阅读(1028) 评论(2) 推荐(0) 编辑

摘要:1screen.width-500)this.style.width=screen.width-500;" border=0>2、screen.width-500)this.style.width=screen.width-500;" border=0>3screen.width-500)this.style.width=screen.width-500;" border=0>4screen.wi... 阅读全文

posted @ 2005-09-21 00:24 yunbo 阅读(2632) 评论(8) 推荐(0) 编辑

摘要: 1#include 2#include "vg.h" 3#include "pf.h" 4#include "assert.h" 5 6 7vgPicker *picker = NULL; 8vgObserver *mainObs = NULL; 9vgChannel *mainChan = NULL; 10vgEnv *mainEnv = NULL; 11vgWindow *mainWin = NULL; 12vgGfx *mainGfx = NULL; 13vgScene *mainScn = NULL; 14 15 16void setSystemPointers(); 17void createPicker(); 18v 阅读全文

posted @ 2005-09-21 00:19 yunbo 阅读(1004) 评论(1) 推荐(0) 编辑

摘要:基于vega的pick功能与数据库结合的实例 // VRMSTView.cpp : CVRMSTView 类的实现 // #include "stdafx.h" #include "VRMST.h" #include "VRMSTDoc.h" #include "VRMSTView.h" #include ".\vrmstview.h" #include "vg.h" #include "pf.h" #include "vgutil.h" #ifdef _DEBUG #define new DEBUG_NEW #endif vgPicker *g_Picker = NULL; vgObserver *g_obs = NULL; vgChannel *g_chan = NULL; vgEnv *g_env = NULL; vgWindow *g_win = NULL; br 阅读全文

posted @ 2005-09-21 00:12 yunbo 阅读(864) 评论(1) 推荐(0) 编辑

摘要:VP: vpDOF* m_DOF; m_DOF = vpDOF::find("DOFname"); VEGA: vgObject *object; vgPart *part; object= vgFindObj( "car" );//这里面填的是object 的名字. part=vgFindPart(object,"rudder",NULL);引号里填的是 creator里 car的dof部件的名字。 阅读全文

posted @ 2005-09-21 00:07 yunbo 阅读(749) 评论(1) 推荐(0) 编辑

摘要:~虚拟现实论文~ 虚 拟 现 实 & 视 景 仿 真 论 述 1、虚拟现实概念    虚拟现实(Virtual Reality,简称VR),是一种基于可计算信息的沉浸式交互环境,具体地说,就是采用以计算机技术为核心的现代高科技生成逼真的视、听、触觉一体化的特定范围的虚拟环境,用户借助必要的设备以自然的方式与虚拟环境中的对象进行交互作用、相互影响,从而产生亲临等同真实环境的感受和体验。    VR思想的起源可追溯到1965年Ivan Sutherland在IFIP会议上的《终极的显示》报告,而Virtual Reality一词是80年代初美国VPL公司的创建人之一Jaron Lanier提出来的。VR系统在若干领域的成功应用,导致了它在90年代的兴起。虚拟现实是高度发展的计算机技术在各种领域的应用过程中的结晶和反映,不仅包括图形学、图像处理、模式识别、网络技术、并行处理技术、人工智能等高性能计算技术,而且涉及数学、物理、通信,甚至与气象、地理、美学、心理学和社会学等相关。   总的来说,实物虚化、虚物实化和高性能的计算处理技术 阅读全文

posted @ 2005-09-21 00:04 yunbo 阅读(8006) 评论(5) 推荐(0) 编辑

摘要:提供下载 阅读全文

posted @ 2005-09-21 00:00 yunbo 阅读(666) 评论(3) 推荐(1) 编辑

摘要:Vega是一种用于实时仿真及虚拟现实应用的高性能软件环境和工具。它主要包括两个部分:一个是被称为LynX的图形用户界面的工具箱,另一个则是基于C语言的Vega函数调用库。LynX的主要功能是通过可视化操作建立起三维场景模型,并将其存在一个应用定义文件(.ADF)中,而后应用程序就可以通过调用Vega的C语言函数库来对已建好的三维场景进行渲染驱动。由于Vega起初是作为在SGI UNIX平台上的一个产品,后来才移植到Windows NT平台上的,其移植目标就是确保已存在的UNIX平台上的Vega应用能够很容易地移植到PC平台上,所以其程序设计风格与UNIX程序设计颇为相近。所以开发WINDOWS程序时,有很多问题。 阅读全文

posted @ 2005-09-20 23:49 yunbo 阅读(2080) 评论(2) 推荐(0) 编辑

摘要:大家做地形时,都会用到这样哪样的数据格式,下面请看看这个文件,对做地形很有帮助! 阅读全文

posted @ 2005-09-20 23:38 yunbo 阅读(455) 评论(1) 推荐(0) 编辑

摘要:VEGA 电子课件下载 阅读全文

posted @ 2005-09-20 23:33 yunbo 阅读(696) 评论(3) 推荐(1) 编辑

摘要:1、通用API函数: Vega通用API函数能操作大多数的Vega类和对象(注意不是全部)。 1.1 Vega结构类: Vega的结构类列表列出了Vega中可用类实例的类型,你能看到它们中的大多数都是Lynx面版中的对象。 当用户建立了一个Vega类实例的时候,也就提供了一个指向类结构的指针,MPI提供了函数去操纵这些结构元素, 因此用户不必了解它的数据结构,虽然这个数据结果对用户是透明的。当MPI改变了这个数据结构时,用户原有的 程序代码没有必要跟着改变,所有的数据类型都在vg.h中定义。 VGTYPE_CHAN VGTYPE_MOTION VGTYPE_WINDOW VGTYPE_GFX VGTYPE_OBSERV VGTYPE_ENV VGTYPE_SCENE VGTYPE_ ISECTOR VGTYPE_ SYSTEM VGTYPE_VOL V 阅读全文

posted @ 2005-09-20 23:07 yunbo 阅读(1620) 评论(0) 推荐(0) 编辑

摘要:VEGA编程——DOF指南 DOF节点在Creator中可以方便的被创建,也可以使用Local-DOF菜单下的DOF Viewer命令进行交互式的查看,关于如何创建DOF并设置相应的约束条件就不详细讲了,可以参考相应的帮助文档,或者Creator的中文书,如果有的话。 考虑在虚拟场景中有个可以被打开和关闭的门,要在Vega中实现交互控制该门的闭合,怎么办?对了,很简单,DOF! 在Creator中创建一个名为“door”的DOF节点,将门部分的模型,通常是个体节点放置到该节点下,用Set Local命令将DOF原点放置到门轴上,设置其绕门轴的旋转约束,比如绕Z轴,从0到120度。 注意,虽然可以在Creator中使用DOF Viewer查看其运动状态,但是在Vega中它是不会自动开关的,必须通过相应的API函数来控制,下面是一个简单的开门程序,大家可以举一反三,实现开/关门: 阅读全文

posted @ 2005-09-20 23:03 yunbo 阅读(1067) 评论(0) 推荐(0) 编辑

摘要:先将datagrid内嵌的textbox设为自动适应文字长短的形式,再将column 的宽度设为与textbox一致 Dim dt As DataTable Dim ts As New DataGridTableStyle() Dim dgcs As DataGridColumnStyle Dim dgtbc As DataGridTextBoxColumn dt = DataSet11.Tables("table") DataGrid1.DataSource = dt ts.MappingName = dt.TableName Dim numCols As Integer numCols = DataSet11.Tables("table").Columns.Count Dim aColumnTextColumn As DataGridTextBoxColumn Dim i As Integer i = 0 Do 阅读全文

posted @ 2005-09-20 14:06 yunbo 阅读(510) 评论(0) 推荐(0) 编辑

摘要:在别人的Blog上看到了,觉得不错,就转过来了 只要在Blog的"选项"--"Configure"--"公告"代码中加入 即可;其中,城市名可以直接用中文,而不用以前QQ的编码格式 效果见左侧我的公告 转自:hxh(贺星河)的专栏 用于Blog的天气预报服务 阅读全文

posted @ 2005-09-17 20:39 yunbo 阅读(741) 评论(3) 推荐(0) 编辑

摘要: 一、 我们很多时候会遇到这种情况:安装了某些应用程序,此应用程序向OS添加了很多服务,之后,我们不需要此应用程序了,将其卸载掉,但是上面所提及的那些服务没有随应用程序的卸载而删除! 我们可以应用几种方法将其删除: 在“运行”对话框中,敲入“regedit.exe”打开注册表编辑器 ——定位到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services” ——找到服务所对应的相应键值,删除即可! 利用W2K Resource Tools Kits中的instsrv.exe 使用方法:instsrv remove 利用W2K Resource Tools Kits中的srvinstw.exe 注:通过使用“Install/Remove Services”,我们可以删除服务,亦可以安装服务; 在windows的命令行窗口键入:service.bat instal 阅读全文

posted @ 2005-09-17 02:14 yunbo 阅读(3393) 评论(1) 推荐(0) 编辑

摘要: 在网上找了好多关于处理键盘事件的资料,但是都没有说清楚,或者是说的关于VB6.0的,自己琢磨了一下,终于成功了,很简单的,拿出来总结一下,大家见笑! 1、VB.Net 2003下,在窗体设计起代码中加入:MyBase.KeyPreview = True #Region " Windows 窗体设计器生成的代码 " Public Sub New() MyBase.New() '在此加入下面这句话,使在窗口中任何的按键都只执行一个响应 MyBase.KeyPreview = True '该调用是 Windows 窗体设计器所必需的。 InitializeComponent() '在 InitializeComponent() 调用之后添加任何初始化 End Sub 2、重载OnKeyPress 阅读全文

posted @ 2005-09-16 00:52 yunbo 阅读(12837) 评论(8) 推荐(0) 编辑

摘要:用了一个笨办法,不知道还有没有其他的好方法: 把要修改的字段和存储过程中的字段对照,改为一样大小,一样的类型,顺序也改为完全一样,这样还是不行,重新编译也不成功,把SQL SERVER停了再重起也不行,只好把存储过程中的一些参数作为注释,引用起来,执行一遍,作用相当于重新编译一遍存储过程,去掉这些注释,再执行就可以了! 不知道是为什么!我是新手,有人可以解释一下吗? 阅读全文

posted @ 2005-09-15 23:10 yunbo 阅读(628) 评论(0) 推荐(0) 编辑

摘要:1.SQL SERVER的数据类型   数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:   ·Binary [(n)]   ·Varbinary [(n)]   ·Char [(n)]   ·Varchar[(n)]   ·Nchar[(n)]   ·Nvarchar[(n)]   ·Datetime   ·Smalldatetime   ·Decimal[(p[,s])]   ·Numeric[(p[,s])]   ·Float[(n)]   ·Real   ·Int   ·Smallint   ·Tinyint   ·Money   ·Smallmoney   ·Bit   ·Cursor br 阅读全文

posted @ 2005-09-14 17:24 yunbo 阅读(895) 评论(0) 推荐(0) 编辑

摘要:Dim ts1 As New DataGridTableStyle ts1.MappingName = datagrid.DataMember datagrid.TableStyles.Add(ts1) '隐藏某列,可以设其宽度为0,例子为隐藏第一列 grdResults.TableStyles(0).GridColumnStyles(0).Width = 0 '删除某列,例子为删除第一列 grdResults.TableStyles(0).GridColumnStyles.RemoveAt(0) 阅读全文

posted @ 2005-09-14 01:52 yunbo 阅读(1231) 评论(0) 推荐(0) 编辑

摘要:1、可验证 MM/DD/YYYY, MM/DD/YYYY HH:MM 和 MM/DD/YYYY HH:MM:SS格式日期的正则表达式 ^([0]\d|[1][0-2])\/([0-2]\d|[3][0-1])\/([2][01]|[1][6-9])\d{2}(\s([0-1]\d|[2][0-3])(\:[0-5]\d){1,2})?$ 这个还不好,不能验证2月份的 2、验证YYYY-MM-DD的正则表达式 ^( (((1[6-9]|[2-9]\d)\d)-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01])) | (((1[6-9]|[2-9]\d)\d)-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30)) | (((1[6-9]|[2-9]\d)\d)-0?2-(0?[1-9]|1\d|2[0-8])) | (((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][04 阅读全文

posted @ 2005-09-13 00:39 yunbo 阅读(2030) 评论(0) 推荐(0) 编辑

摘要:1、首先在“解决方案”中的“项目”中的“引用”上点右键,引入COM组件中的EXEL组件,如下图所示:(版本可能不一样,这不影响,我安装的是OFFICE 2003) 2、在程序的开始,添加如下语句: Imports Microsoft.Office.Interop 3、建立一个新的过程函数输出到EXCEL中: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim myexcel As New Excel.Application myexcel.Visible = True myexcel.Workbooks.Add() Dim col As Integer Dim row As Integer Dim col1 As Integer 阅读全文

posted @ 2005-09-12 10:47 yunbo 阅读(4496) 评论(3) 推荐(0) 编辑

摘要:欢迎大家和我一起交流在学习.NET与管理信息系统的过程中所遇到的问题,经验与教训! 阅读全文

posted @ 2005-09-12 10:43 yunbo 阅读(323) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示