[转帖] 基于AutoCAD的实时协同图形系统设计

计算机支持的实时协同设计CSRCD(Computer Supported Real-time Cooperative Design) 是CSCW 在设计工作中的一项重要应用,它主要支持设计群体并发工作即使交流思想、协调工作进展情况、发现工作过程中出现的矛盾和冲突等,防止、避免和尽可能的减少设计过程中反复修改的问题。目前在实时协同设计领域已经进行了大量的研究和开发工作,有SketchPad、Shsatra、Co-CAD 等。但大多数还是集中于模型设计阶段,很少可以真正达到远程的同步协同设计。SketchPad是一个支持多个用户的分布式草图系统,主要用于视频会议上对共享的图像进行浏览并作草图标注等操作:Shastra 是在桌面系统上实现的一种多媒体协同设计环境,它支持基于用户层和应用层的协同操作; Co-CAD 是一个协同的机械CAD 系统, 它提供一些零件,可以支持地理上分散的机械CAD 工程师进行同步协同操作。AutoCAD 是AutoDesk 公司设计的一个用于工程设计的软件,目前己经在机械、电子、土木等领域得到了广泛的应用。目前,国内的很多工程软件都是基于AutoCAD 二次开发的系统, 这不仅简化了系统开发的复杂度,还降低了用户操作的难度,充分体现了"以人为本"。考虑到这一事实,该文也将以AutoCAD系统为平台,对实时协同图形系统的开发进行尝试。

1 系统结构

1.1 实时协同系统的基本要求

实时协同系统设计的目的是提供有效的支持,使用计算机技术来帮助设计群体的交互,从而协同完成一个共同的任务和合作目标。一般来说还要满足分布性、动态性、实时通讯信息存储等要求。

1.2 基于AutoCAD的实时协同系统模型

基于AutoCAD的实时协同系统模型由3个部分组成,分别为用户界面、AutoCAD内核和代理群。AutoCAD内核是AutoCAD系统提供的核心功能:代理群和用户界面用于在AutoCAD基础上采用Visual C++和ObjectARX 二次开发完成。其系统模型如图1所示。

图片点击可在新窗口打开查看

图1系统模型

用户界面是设计参与者与系统交流的通道,是用户使用系统完成一种或多种操作所

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图形系统开发基础,我是转帖的,感觉不错,属于入门级别。 1:搭建Linux下的图形系统开发环境 图形输出在嵌入式开发中,多数是向FrameBuffer中写数据,然后会显示在LCD中,在Linux下做图形开发的时候,需要模拟各种环境,比如16位色的环境,32位色的环境等,这个时候需要在Linux中做一个配置的修改: [Copy to clipboard] [ - ]CODE: [root@localhost root]# vi /boot/grub/grub.conf 上面这条命令是用来编辑grub引导配置文件。该配置文件原来的内容为: [Copy to clipboard] [ - ]CODE: # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.6.26) root (hd0,0) kernel /vmlinuz-2.6.26 initrd /initrd-2.6.26.img 将其修改为: [Copy to clipboard] [ - ]CODE: # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.6.26) root (hd0,0) kernel /vmlinuz-2.6.26 vga=0x314 initrd /initrd-2.6.26.img 其实仅仅是在kernel /vmlinuz-2.6.26这一行末尾处加了一个vga=0x314,将Framebuffer设置为800x600x16的显示模式,其中800x600是屏幕分辨率,16表示显示的是16bit的彩色。下面详细的说一下关于vesa vga参数的含义: [Copy to clipboard] [ - ]CODE: 4bit 8bit 15bit 16bit 24bit 32bit 640x400 x 0x300 x x x x 640x480 x 0x301 0x310 0x311 0x312 x 800x600 0x302 0x303 0x313 0x314 0x315 x 1024x768 x 0x305 0x316 0x317 0x318 x 1280x1024 x 0x307 0x319 0x31A 0x31B x 1600x1200 x 0x31C 0x31D 0x31E 0x31F x 而在现在的开发环境中,和嵌入式平台中,用16bit的颜色的还是主流,所以,主要介绍一下16bit的颜色的类型,而颜色是由RGB组成: 常见16位颜色的类型分为: (1)565:依次排列为Red,Green,Blue,二进制表示为: [Copy to clipboard] [ - ]CODE: Red Green Blue RRRRR GGGGGG BBBBB (2)1555:依次排列为Alpha,Red,Green,Blue [Copy to clipboard] [ - ]CODE: Alpha Red Green Blue A RRRRR GGGGG BBBBB 565排列的颜色: 0xFFFF的颜色是白色,在RGB565中排列形式为: [Copy to clipboard] [ - ]CODE: R G B 11111 111111 111111 0xF800的颜色是红色,在RGB565中排列的形式为: [Copy to clipboard] [ - ]CODE: R G B 11111 000000 000000 0X7e0的颜色是绿色,在RGB565中排列的形式为: [Copy to clipboard] [ - ]CODE: R G B 00000 111111 000000 假设Alpha值为1的1555排列的颜色: 0XFC00的颜色是红色,在ARGB1555中排列形式为: [Copy to clipboard] [ - ]CODE: A R G B 1 11111 00000 00000 0X83E0的颜色是绿色,在ARGB1555中排列形式为: [Copy to clipboard] [ - ]CODE: A R G B 1 00000 11111 00000 其他颜色就不在这里一一赘述,需要在实践中慢慢累积与总结。 RGB简介 前面介绍了做了很多表来体现的就是RGB颜色排列形式,那么什么是RGB呢? 概述   RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。   RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。例如:纯红色R值为255,G值为0,B值为0;灰色的R、G、B三个值相等(除了0和255);白色的R、G、B都为255;黑色的R、G、B都为0。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。   在 RGB 模式下,每种 RGB 成分都可使用从 0(黑色)到 255(白色)的值。 例如,亮红色使用 R 值 246、G 值 20 和 B 值 50。 当所有三种成分值相等时,产生灰色阴影。 当所有成分的值均为 255 时,结果是纯白色;当该值为 0 时,结果是纯黑色。    应用   目前的显示器大都是采用了RGB颜色标准,在显示器上,是通过电子枪打在屏幕的红、绿、蓝三色发光极上来产生色彩的,目前的电脑一般都能显示32位颜色,约有一百万种以上的颜色。   原理   RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和(两盏灯的亮度嘛!),越混合亮度越高,即加法混合。   有色光可被无色光冲淡并变亮。如蓝色光与白光相遇,结果是产生更加明亮的浅蓝色光。知道它的混合原理后,在软件中设定颜色就容易理解了。    红、绿、蓝三盏灯的叠加情况,中心三色最亮的叠加区为白色,加法混合的特点:越叠加越明亮。   红、绿、蓝三个颜色通道每种色各分为255阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色数值相同时为无色彩的灰度色,而三色都为255时为最亮的白色,都为0时为黑色。  RGB 颜色称为加成色,因为您通过将 R、G 和 B 添加在一起(即所有光线反射回眼睛)可产生白色。 加成色用于照明光、电视和计算机显示器。 例如,显示器通过红色、绿色和蓝色荧光粉发射光线产生颜色。绝大多数可视光谱都可表示为红、绿、蓝 (RGB) 三色光在不同比例和强度上的混合。 这些颜色若发生重叠,则产生青、洋红和黄。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值