加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
【楼下更新】简单省事的3D图形演示程序
novakon2012/06/12软件综合 IP:广东
在应用软件中有时会需要显示简单的3D图形,opengl太麻烦,directx更麻烦,ogre3d就更SB了,学会以上任意一个都会耗掉一两天时间

所以我写了一个专门显示3D线框图的非常简单的程序,只要你有一个3D模型、有一块能够在上面画直线的画布,就可以把我这段代码改成适合你的版本。

rawdraw.png

以下是代码,Visual Studio 2010, VB.NET, 使用了Graphics对象的Drawline方法在图像上划线。模型是RAW格式的,这种格式可以由很多3D软件导出。


attachment icon 3dshow.rar 155.30KB RAR 40次下载
+1  科创币    jrcsh    2012/06/12 高质量发帖
+100  科创币    金坷居士    2012/06/12 强大
+25  科创币    科学人    2012/06/12
+25  科创币    celeron533    2012/06/12
+200  科创币    焓熵`    2012/06/12 好東西~  廣局最需要了
+1  科创币    phpskycn    2012/06/15 用Visual Basic without .net就更好了
+1  科创币    jungle    2012/06/18 高质量发帖
来自:计算机科学 / 软件综合
5
 
新版本公告
~~空空如也
novakon 作者
13年1个月前 IP:未同步
406399
相机默认指向y轴正向,唯一可调参数是离原点的距离,节省了很多代码。离原点距离过近会导致部分点跑到相机后方,画线时产生错误(因为没有加入将身后的点忽略的功能)。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
回忆
13年1个月前 IP:未同步
406587
怎么用?代码用什么打开?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
13年1个月前 IP:未同步
406636
代码用Visual Studio 2010打开,请确认你安装了visual basic.NET
当然你也可以把代码改成纯C,如果你已经知道如何在屏幕上显示图形和画线。

----更新----

在很多3D软件中会使用四角面,每个四角面由两个三角形拼成。如果我们把两个三角面的每条边画出来,就会在四角面中多画出一条对角的斜线。我们希望去掉这条线,所以我把代码从这样:


改成这样:



效果:
3dshow2.png

(我在代码中加入了控制画线透明度的参数。)

附上新版程序和源代码。

如果你只是想试一试程序,请打开bin/release/ 文件夹,找到3dshow.exe
attachment icon 3dshow.rar 155.94KB RAR 44次下载
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
13年1个月前 IP:未同步
407091
Re:【楼下再更新】简单省事的3D图形演示程序
更新三

QQ截图20120613230332.png

加入了令模型旋转的代码。

程序+源码。请打开bin/release找到最新编译的程序。
attachment icon 3dshow.rar 185.20KB RAR 42次下载
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
novakon
学者 机友 笔友
文章
1256
回复
8386
学术分
16
2008/03/29注册,3年4个月前活动

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的