Away3D 基础5 - 3D基本元素(3)

本文介绍了3D建模中较少使用的元素,如GridPlane、LineSegment、Cone、Torus和SeaTurtle等,并探讨了它们的应用场景及局限性。

这是关于3D基本元素的第三篇教程也是最后一篇。在这篇里要介绍的是我们不常用到的。GridPlaneLineSegment用于调试,然而Cone, Torus SeaTurtle更是“非必备品”了。

这篇教程里介绍过的3D基本元素也存在于别的3D引擎或模型包里。由于不常用,本教程里没有像前两节里那样丰富的实例。不过这里还是提供了能展现其用法的代码

先决条件

本教程建立在我们别的教程基础之上。假如你是flash3D菜鸟,你可能会先要去看看这些教程。举个例子,有些源文件,点击附带的as文件查看它们是如何工作的。所有这些例子都要用到一个Cover.as文件。这个文件是让教程里用到的flash影片不能同时工作,否则会拖垮你的电脑。如果你不确定如何使用这些例子,查看这个教程

教程里的一部分例子会用到“纹理”。关于纹理与材质我们会在后边教程详细介绍,如果要让代码在flash cs3里工作, 读这个教程.

 

The Cone

圆锥用处不大。做冰淇淋甜筒、锥形交通标和宴会帽等效果时可能会用到。圆锥有radiussegmentsHsegmentsWheight属性,另外一个属性用于指明是否开口,如果设为开口,我们就可以从圆锥底看到圆锥内部。

Swf:点击观看as: Basic08_cone.as

在本例展示了几种可能.下载源文件,看看各类属性如何设置。

The Cylinder

圆柱体与圆锥提供的属性大多相同,看下例:

Swf:点击观看as: Basic08_cylinder.as

圆柱体可能要比圆锥有用的多,不过用它要付出“昂贵”的代价。记得winxp经典屏保管道实时渲染吗?这个看上去很容易实现,但实际上用3D引擎很难实现这个效果。像前面的例子里看到的那样,要让一个3D元素显示的很“圆”就需要大量的三角形,圆柱体也不例外。回顾历史我们不难发现在游戏里大量使用“圆形表面”还只是近几年的事。

The GeodesicSphere

A Geodesic sphere is most commonly referred to as a Geodesic Dome. It's been used in building construction (see Spaceship Earth at Epcot) and has some unique properties when compared to a traditional Sphere primitive. In Away3D the Geodesic Sphere starts off with a basic shape that looks like 2 pyramids combined. This shape is then refined by triangulating each of the triangles in the basic shape to approximate a sphere.

The higher amount of triangulation, the more round the sphere will appear. In the image below, the fracture setting is noted next to each sphere so you can see how this affects the roundness of the sphere.

  

as: Basic08_geodesicsphere_refine.as

As you see from the image, this is a quite different way to build the sphere than with a normal sphere primitive. The triangles are almost the same size across the object and this makes a GeodesicSphere more round than a sphere, given the same number of triangles. Mouse over the example below to see how the two compare.

Swf:点击观看as: Basic08_geodesicsphere.as

It is also possible to create a Geodesic sphere based on other primitives as this code shows.

The RoundedCube

圆角立方体只在Away3D引擎里有。最简单的圆角立方体看上去就像个球。通过增加三角形面数可以得到更佳的效果

点此去浏览Fabrice Closier的博客。FabriceAway3D开发团队里核心成员。

这个基本元素还是最近在用户的要求下添加的。假如你需要一种Away3D里还没有的3D元素,你可以试图在away3D论坛里发帖。论坛会员就有可能去开发这个元素,当然如果你也有开发能力也欢迎您把代码投稿到away3D引擎。

 

 

The Wire primitives

 

 

Several of the primitives are also available in Wireframe version. They have no surface so you can see the mesh they consist of.

A final note

As said initially, these primitives have very limited use and some of them even contain bugs. While working on this tutorial, I've added these bugs to the issue list for Away3D. Most notably - the cone and geodesic sphere has texture issues, the cylinder becomes too long if you use more than one segment. The issues are reported to the team and will probably be fixed swiftly, but I'm adding it here as a "nice to know" thing.

The GridPlane

网格平面这个3D元素用于辅助建立场景。它只是带网格的平面,但它成为大多3D程序里必备部分是有原因的。看下面模型。

Swf:点击观看 as: Basic08_gridplane.as  image: seaturtle.jpg

如上添加了三叉戟与网格后,你对该场景个位置情况一目了然。

The Torus

圆环存在于大多3D工具里。它可用于油炸圈饼、救生圈。同时这个也用于测试阴影。应用模拟光反射、阴影于旋转的圆环上,圆环看上去效果很不错。

Swf:点击观看 movie: Basic08_torus.as, images: doughnut.jpg mandelbrot.jpg marble.jpg

注意圆环不用segmentsW segmentsH设置,取而代之的是segmentsR segmentsT

 torus.segmentsR = 20;torus.segmentsT = 10;

The LineSegment

像下面例子一样,有时候我们只需要在两点间画一根线。在away3D里提供了线段“元素。把鼠标移到下面影片上,我们可以看到一根线段始总连着”海龟“

Swf:点击观看as:Basic08_linesegment.as, image: seaturtle.jpg

 

The SeaTurtle

This was the first output of the as3 exporter, a class that can generate a compact AS3 class based on any loaded model. This class has since been updated a lot and it's very powerful. If you want a compact 3D project, you should consider testing how the AS3 exporter can improve both file size and load times. While not really a primitive, the Sea Turtle was a fun addition and a bit of a mascot in the early days of Away3D. Since it's kind of complex and has a lot of faces, it is also useful for testing lighting. The texture for the turtle is located in the "/techdemos/images/" folder that you can download from the Away3D subversion repository. You'll see it in use in the next primitive - the GridPlane.

同步定位与地图构建(SLAM)技术为移动机器人或自主载具在未知空间中的导航提供了核心支撑。借助该技术,机器人能够在探索过程中实时构建环境地图并确定自身位置。典型的SLAM流程涵盖传感器数据采集、数据处理、状态估计及地图生成等环节,其核心挑战在于有效处理定位与环境建模中的各类不确定性。 Matlab作为工程计算与数据可视化领域广泛应用的数学软件,具备丰富的内置函数与专用工具箱,尤其适用于算法开发与仿真验证。在SLAM研究方面,Matlab可用于模拟传感器输出、实现定位建图算法,并进行系统性能评估。其仿真环境能显著降低实验成本,加速算法开发与验证周期。 本次“SLAM-基于Matlab的同步定位与建图仿真实践项目”通过Matlab平台完整再现了SLAM的关键流程,包括数据采集、滤波估计、特征提取、数据关联与地图更新等核心模块。该项目不仅呈现了SLAM技术的实际应用场景,更为机器人导航与自主移动领域的研究人员提供了系统的实践参考。 项目涉及的核心技术要点主要包括:传感器模型(如激光雷达与视觉传感器)的建立与应用、特征匹配与数据关联方法、滤波器设计(如扩展卡尔曼滤波与粒子滤波)、图优化框架(如GTSAM与Ceres Solver)以及路径规划与避障策略。通过项目实践,参与者可深入掌握SLAM算法的实现原理,并提升相关算法的设计与调试能力。 该项目同时注重理论向工程实践的转化,为机器人技术领域的学习者提供了宝贵的实操经验。Matlab仿真环境将复杂的技术问题可视化与可操作化,显著降低了学习门槛,提升了学习效率与质量。 实践过程中,学习者将直面SLAM技术在实际应用中遇到的典型问题,包括传感器误差补偿、动态环境下的建图定位挑战以及计算资源优化等。这些问题的解决对推动SLAM技术的产业化应用具有重要价值。 SLAM技术在工业自动化、服务机器人、自动驾驶及无人机等领域的应用前景广阔。掌握该项技术不仅有助于提升个人专业能力,也为相关行业的技术发展提供了重要支撑。随着技术进步与应用场景的持续拓展,SLAM技术的重要性将日益凸显。 本实践项目作为综合性学习资源,为机器人技术领域的专业人员提供了深入研习SLAM技术的实践平台。通过Matlab这一高效工具,参与者能够直观理解SLAM的实现过程,掌握关键算法,并将理论知识系统应用于实际工程问题的解决之中。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值