from: http://blog.csdn.net/liminxin272/article/details/6969759
Alternativa3D 8 基础理论
每一个3D引擎,都有自己的三维空间坐标系,Alternativa3D 采用跟 3ds Max 相同的坐标系,即右手坐标系:
1. 坐标轴方向
右手手背朝下,中指朝上,食指朝前,拇指朝右。
则 拇指 所指方向为 x轴 正方向,食指 所指方向为 y轴 正方向,中指 所指方向为 z轴 正方向。
2. 绕轴旋转方向
右手大拇指指向轴的正方向,四指握拳的方向就指该轴旋转正方向。
二、UV坐标系
1. 什么是uv坐标
将一个三维模型沿着表面剪开,展平为一张二维平面图。
此时,三维模型表面的每一个点,都可以在平面图上找到一个与之相对应的点。
即,三维模型表面上的每个三维点坐标(x, y, z)都有一个与之相对应的二维贴图坐标(u, v)。
2. Alternativa3D 中的 uv 坐标系
u 与 v 的取值范围都为 [0, 1],在 Alternativa3D 中,贴图的uv坐标为:
左上角(0, 0),左下角(0, 1),右上角(1, 0),右下角(1, 1),其它点的 uv 根据相对位置取 0 到 1 之间的值。
三、Alternativa3D 三维空间结构
构成 Alternativa3D 三维空间的基本要素有:三维根容器、摄像头、视窗、三维对象、三维对象的材质
三维舞台(Stage3D):3D舞台,奇妙的三维世界就在这里展示。
三维根容器(Object3D):Alternativa3D 构建的三维世界,其它由 Alternativa3D 创建的三维对象都要添加进来。
摄像头(Camera3D):三维世界中的眼睛,没有它我们啥也看不到。
视窗(View):摄像头所拍摄到的画面。
三维对象(Object3D):没有它,我们看啥?
材质(Material):人靠衣装,不可裸奔,没有材质的三维对象会被警察叔叔带走的。
Alternativa3D 8 基础概念
1. 3D对象
■ Object3D
Object3D 是所有3D对象的基类,也是最简单的3D对象,它定义了一个3D对象的基本属性和方法。
Object3D可以作为容器包含其它3D对象,类似于2D中的 DisplayObjectContainer。
所有的3D对象都继承自Object3D。3D对象大体上可区分为可视对象与不可视对象:
不可视对象
● Camera3D(3D摄像机)
● Light3D(3D灯光)
● AmbientLight(环境光)
● DirectionalLight(方向性光源)
● OmniLight(点光源)
● SpotLight(聚光灯)
● Joint(骨骼关节)
可视对象
● AxisAlignedSprite(单一轴向正对摄像机的平面对象)
● Sprite3D(所有轴向正对摄像机的平面对象)
● AnimSprite(通过不断更换材质形成动画的Sprite3D)
● Mesh(空间网格)
● Decal(图案)
● Plane(平面)
● Box(立方体)
● GeoSphere(几何球体)
● SkyBox(天空盒)
● Skin(骨骼动画)
● WireFrame(线框)
Alternativa3D 8 中的3D对象
■ Mesh
Mesh 可理解为空间网格,是展示几何体(Geometry)的地方,Geometry包含描述几何体的顶点和三角面信息。
几何体在Mesh中的显示形式为表面(Surface),表面是由一个序列的三角面构成,这些三角面通过Surface的材质进行显示。或许把Surface想象成皮肤更容易理解一些。
Mesh、Geometry、Surface三者的关系是:Geometry为Mesh提供了顶点和三角面信息,Mesh根据这些信息创建Surface来显示Geometry所描述的3D对象。
所有需要显示的空间几何体都继承自Mesh类,不论是内建的基本几何体,还是自定义几何体(代码创建或者外部导入模型)都是通过Mesh进行展示的。
Alternativa3D通过扩展Mesh类为我们提供了 Decal、Plane、Box、GeoSphere、SkyBox 等基本几何体
Surface
Surface 可理解为表面或者皮肤,它由一个序列的三角面组成,具有单独材质。
每个Mesh可分割为多个Surface,当需要为Mesh中的部分三角面赋予单独的材质时,可将序号连续的三角面创建为一个Surface。
例如,Mesh中有10个三角面,需要为三角面0、1、2、5、6赋予材质m0,其它的三角面赋予材质m1,那么可以将三角面分为[0,1,2]、 [3,4]、[5,6]、[7,8,9]四个序列,创建s0、s1、s2、s3四个Surface,其中s0、s2赋予材质m0,s1、s3赋予材质 m1。
■ Skin
简单点说,Skin 就是可带骨骼动画的Mesh。通过Joint绑定顶点连接成骨骼。
■ Joint
Joint 可理解为关节,是Skin的一部分,用于骨骼动画。
2. 材质
■ Material
材质是3D对象非常重要的一部分,没有材质的3D对象只是一堆描述几何体形状外观等信息的数据,什么也看不到。我们所能见到的那些奇妙的空间几何体都是通过材质才得以显现的,材质让虚拟的3D对象变得可见。
材质分为填充材质(FillMaterial)和贴图材质(TextureMaterial、ParserMaterial)。
Material 是所有材质的基类,定义了材质的基本属性和方法。
FillMaterial 是填充材质,以单一的颜色填充整个Surface。
TextureMaterial 是贴图材质,用位图填充Surface。要正确表现贴图效果,几何体顶点UV坐标的设置十分重要。
ParserMaterial 用以储存外部加载的*.DAE或*.A3D模型的材质信息,需要通过TextureLoader(贴图加载器)来加载外部贴图。
LightMapMaterial(灯光贴图材质)、StandardMaterial(标准材质)、VertexLightTextureMaterial(动态灯光贴图材质)都是继承自TextureMaterial。
StandardMaterial 支持漫反射贴图、法线贴图、高光贴图、光泽度贴图和光泽度、高光强度设置。
LightMapMaterial 支持灯光贴图。
VertexLightTextureMaterial 支持动态灯光。
填充材质
● FillMaterial(填充材质)
贴图材质
● ParserMaterial(解析材质)
● TextureMaterial(贴图材质)
● StandardMaterial(标准材质)
● LightMapMaterial(灯光贴图材质)
● VertexLightTextureMaterial(动态灯光贴图材质)
Alternativa3D 8 中的材质
3. 资源
■ Resource
Resource 是GPU资源的基类,定义了资源上传与释放的相关属性和方法。
GPU资源分为2种:几何体资源和贴图资源。
几何体资源使用顶点缓存(VertexBufferResource)和索引缓存(IndexBufferResource)进行上传。
贴图资源包括位图贴图资源(BitmapTextureResource)和压缩贴图资源(ATFTextureResource)。
几何体资源
● Geometry(几何体资源)
贴图资源
● TextureResource(贴图资源)
● ATFTextureResource(压缩贴图资源)
● BitmapTextureResource(位图贴图资源)
● ExternalTextureResource(外部贴图资源)
Alternativa3D 8 中的资源
Geometry
Geometry 储存了3D对象的几何体数据,记录每个顶点的信息,这些信息将被划分为多个顶点缓存上传到GPU。
顶点信息包括3D坐标(POSITION)、贴图坐标(TEXCOORDS)、法线(NORMAL)、切线(TANGENT4)、骨骼权重(JOINTS)等。
■ TextureResource
TextureResource 是贴图资源的基类。
贴图资源包括位图贴图资源(BitmapTextureResource)和压缩贴图资源(ATFTextureResource)。
位图贴图资源以位图数据(BitmapData)上传,ATF压缩贴图资源以二进制数据(ByteArray)上传。
ExternalTextureResource 用以加载外部贴图资源,结合TextureLoader(贴图加载器)可以比较方便地加载外部模型的贴图。
4. 外部模型
Alternativa3D支持外部模型的加载与解析,支持的模型文件格式有*.DAE、*.A3D、*.3DS。
*.DAE是基于XML的Collada模型文件,*.A3D为Alternativa3D专用模型文件,*.3DS是3DS Max软件使用的格式。
Alternativa3D官方提供了相关的3DS Max插件,用以导出*.DAE和*.A3D格式的模型。
通过模型解析器,可以十分方便地解析加载的模型,获取模型中的几何体对象、贴图材质、动画、灯光等信息。
ParserCollada:*.DAE格式模型解析器,可获取模型中的几何体对象、贴图材质、动画、灯光。
ParserA3D:*.A3D格式模型解析器,可获取模型中的几何体对象、贴图材质。
Parser3DS:*.3DS格式模型解析器,可获取模型中的几何体对象、贴图材质。
此外,Alternativa3D还给出了ExporterA3D类,用以将3D对象导出保存为*.A3D格式的模型文件。
相关推荐
最后,“Alternativa3D基础理论.PDF”和“Alternativa3D_7.6.0_半中文帮助文档.chm”是理论知识和官方文档的结合,它们提供了全面的框架介绍和详细的API参考。基础理论PDF将帮助你建立坚实的3D编程基础,而半中文的...
1. **基础理论**:介绍Flash3D的基础概念,如3D坐标系统、视图变换、光照和阴影等,帮助初学者理解3D图形的基本原理。 2. **软件工具**:讲解使用Adobe Flash Professional或其他支持3D功能的软件(如 Away3D, ...
在这一部分,读者将了解到如何使用如Papervision3D、 Away3D 或 Alternativa3D 这样的开源3D引擎来简化开发过程。 接着,教程会详细阐述3D图形渲染,包括光照、纹理映射、阴影投射等关键元素。通过实例,学习者将...
内容概要:本文详细介绍了Rtd 2796这款高性能4K显示器控制器的技术特点和应用场景。Rtd 2796支持多种显示接口,包括LVDS、VBO和eDP,适用于民用、工业、矿山和医疗等多个领域。文中通过具体的代码示例和技术细节,解释了如何配置这些接口以及它们的应用优势。此外,文章还探讨了硬件设计的关键点,如电源时序控制、信号完整性处理和硬件级画面拼接等功能。针对不同应用场景的需求,Rtd 2796提供了稳定的显示解决方案,并附带了详细的原理图和源代码,帮助开发者加快开发进度。 适合人群:电子工程师、硬件设计师、嵌入式开发人员、显示技术爱好者。 使用场景及目标:①民用领域:4K显示器、智能电视和平板电脑;②工业领域:工业自动化设备和控制面板;③矿山领域:矿山监控系统和设备显示屏;④医疗领域:医疗设备显示屏和手术室监控系统。目标是为用户提供稳定、高性能的4K显示解决方案。 其他说明:文章提供了丰富的技术细节和代码示例,有助于深入理解和实际应用。对于希望深入了解4K显示器技术和Rtd 2796控制器的读者来说,是一份极具价值的参考资料。
文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 Rust 以内存安全、零成本抽象和并发高效的特性,重塑编程体验。无需垃圾回收,却能通过所有权与借用检查机制杜绝空指针、数据竞争等隐患。从底层系统开发到 Web 服务构建,从物联网设备到高性能区块链,它凭借出色的性能和可靠性,成为开发者的全能利器。拥抱 Rust,解锁高效、安全编程新境界!
航天电磁阀单元化制造工艺与质量管控.pdf
文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 编译闪电般迅速,并发性能卓越,部署轻松简单!Go 语言以极简设计理念和出色工程性能,成为云原生时代的首选编程语言。从 Docker 到 Kubernetes,全球顶尖科技企业都在采用 Go。点击了解 Go 语言的核心优势、实战窍门和未来走向,开启高效编程的全新体验!
基于python实现进行股票分析和选股+源码+项目文档+使用说明,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 使用python进行股票历史数据下载和分析选股。除了选股策略以外,其他都可公开。 git网站上有很多优秀开源量化平台项目。本项目与其他项目的区别是,本项目侧重于选股、回测所需数据的导入工作。有了历史数据和选股策略,选择哪个量化平台做回测都是很轻松的事情了。 业余编程水平,需求导向。才疏学浅,刚学python几个月时间。git主要作为云端git库使用。无任何解答服务。 力求选择最稳定可靠的数据获取方式。虽然网上有很多数据源平台,但都受制于“积分”、带宽、平台是否更新等,完全是把程序主动权交到了对方手里。因此本项目所有数据依靠本地通达信软件导出提供
文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 Rust 以内存安全、零成本抽象和并发高效的特性,重塑编程体验。无需垃圾回收,却能通过所有权与借用检查机制杜绝空指针、数据竞争等隐患。从底层系统开发到 Web 服务构建,从物联网设备到高性能区块链,它凭借出色的性能和可靠性,成为开发者的全能利器。拥抱 Rust,解锁高效、安全编程新境界!
内容概要:本文详细介绍了融合正余弦和柯西变异的改进麻雀搜索算法(SCSSA)的复现过程。主要内容包括五个方面的改进策略:折射反向学习策略初始化、正余弦算法改进发现者策略、自适应调整系数、改进搜索因子以及柯西变异改进加入者策略。文中提供了具体的Python代码示例,展示了如何实现这些改进策略,并通过23个基准测试函数验证了SCSSA相比传统SSA的优越性能。此外,还通过图表分析了改进策略因子和搜索步长因子的变化,进一步证明了SCSSA的有效性。 适合人群:对优化算法感兴趣的科研人员、算法开发者以及相关领域的学生。 使用场景及目标:适用于需要解决复杂优化问题的研究和应用场合,旨在提高算法的全局搜索能力和跳出局部最优的能力,从而更快更精确地找到最优解。 其他说明:文章不仅提供了详细的理论解释和技术实现,还包括了丰富的实验数据和图表分析,帮助读者更好地理解和掌握SCSSA的工作原理和优势。
rtl/axis_fifo.v rtl/i2c_init.v rtl/i2c_master_axil.v rtl/i2c_master_wbs_8.v rtl/i2c_master_wbs_16.v rtl/i2c_master.v rtl/i2c_single_reg.v rtl/i2c_slave_axil_master.v rtl/i2c_slave_wbm.v rtl/i2c_slave.v tb/test_i2c_init.v tb/test_i2c_master_axil.vtb/test_i2c_master_wbs_8.v tb/test_i2c_master_wbs_16.v tb/test_i2c_master.v tb/test_i2c_slave_axil_master.v tb/test_i2c_slave_wbm.v tb/test_i2c_slave.v
适用于所有人的生成式AI-吴恩达:对于英文不佳的同学可看中文版课件
binzi56_algorithm-pattern-c_30952_1746371906469
内容概要:本文探讨了如何通过Stackelberg博弈模型解决光伏用户群之间的电量共享问题。当前分布式光伏上网政策限制了用户间的电量共享,导致资源利用效率低下。文中提出了一个多买方-多卖方的格局,运营商作为主导者制定内部电价,用户作为跟随者根据电价调整用电需求和光伏电量供应。通过MATLAB实现了模型的关键部分,包括参数定义、定价策略、用户需求响应以及寻找博弈均衡点。实验结果显示,该模型不仅提高了运营商的收益,还显著提升了用户的用电效益和光伏电量共享水平。 适合人群:对分布式能源系统、智能电网、博弈论及其应用感兴趣的科研人员和技术开发者。 使用场景及目标:适用于研究和开发分布式能源系统的优化调度方法,旨在提高光伏用户群的电量共享效率,促进能源的有效利用。 其他说明:文中详细介绍了模型的具体实现步骤和关键代码片段,提供了丰富的实验数据支持结论。此外,还讨论了实际应用中可能出现的问题及解决方案。
基于Swin Transformer与ASPP模块的图像分类系统设计与实现 本文介绍了一种结合Swin Transformer与空洞空间金字塔池化(ASPP)模块的高效图像分类系统。该系统通过融合Transformer的全局建模能力和ASPP的多尺度特征提取优势,显著提升了模型在复杂场景下的分类性能。 模型架构创新 系统核心采用Swin Transformer作为骨干网络,其层次化窗口注意力机制能高效捕获长距离依赖关系。在特征提取阶段,创新性地引入ASPP模块,通过并行空洞卷积(膨胀率6/12/18)和全局平均池化分支,实现多尺度上下文信息融合。ASPP输出经1x1卷积降维后与原始特征拼接,有效增强了模型对物体尺寸变化的鲁棒性。 训练优化策略 训练流程采用Adam优化器(学习率0.0001)和交叉熵损失函数,支持多GPU并行训练。系统实现了完整的评估指标体系,包括准确率、精确率、召回率、特异度和F1分数等6项指标,并通过动态曲线可视化模块实时监控训练过程。采用早停机制保存最佳模型,验证集准确率提升可达3.2%。 工程实现亮点 1. 模块化设计:分离数据加载、模型构建和训练流程,支持快速迭代 2. 自动化评估:每轮训练自动生成指标报告和可视化曲线 3. 设备自适应:智能检测CUDA可用性,无缝切换训练设备 4. 中文支持:优化可视化界面的中文显示与负号渲染 实验表明,该系统在224×224分辨率图像分类任务中,仅需2个epoch即可达到92%以上的验证准确率。ASPP模块的引入使小目标识别准确率提升15%,特别适用于医疗影像等需要细粒度分类的场景。未来可通过轻量化改造进一步优化推理速度。
内容概要:本文探讨了基于MATLAB和CPLEX仿真平台实现的考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化。研究围绕碳交易、电制氢、阶梯式碳交易、综合能源系统热电优化等关键概念展开。通过引入阶梯式碳交易机制,使综合能源系统能够更好地控制碳排放。同时,细化电制氢过程,引入电解槽、甲烷反应器、氢燃料电池等设备,提高了氢能的利用效率。此外,提出了热电比可调的热电联产及氢燃料电池运行策略,提升了系统的灵活性和经济性。最终,通过设置购能成本、碳排放成本、弃风成本最小的目标函数并利用CPLEX求解,实现了对综合能源系统的优化。 适合人群:从事能源系统优化、碳交易机制研究、氢能技术开发的研究人员和技术人员。 使用场景及目标:适用于希望深入了解如何通过MATLAB和CPLEX实现综合能源系统优化的人士。目标是掌握如何在考虑阶梯式碳交易机制和电制氢的情况下,优化热电联产系统的运行,以达到节能减排的目的。 其他说明:文中详细介绍了各个模块的具体实现方法,包括碳交易机制的融入、电制氢过程的细化、热电联产与氢燃料电池运行策略的制定,以及目标函数的构建和求解策略。
图书馆管理系统源代码.zip
内容概要:本文详细介绍了西门子S7-1200控制器在5轴伺服控制系统中的应用案例。主要内容涵盖PTO伺服轴脉冲定位控制、速度模式和扭矩模式的具体实现方法。通过具体的PLC指令如MC_Power、MC_MoveAbsolute、MC_MoveVelocity等展示了如何精确控制伺服电机的位置、速度和扭矩。此外,文章强调了结构化编程和功能模块化设计的重要性,包括自动/手动/单步模式切换、暂停后原位置继续运行、轴断电保持以及报警处理等功能模块的设计思路。同时,文中还提到了程序的兼容性和功能块的复用性,使得程序易于维护和扩展。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是那些希望深入了解西门子S7-1200控制器及其在多轴伺服控制中应用的人群。 使用场景及目标:①帮助工程师理解和掌握西门子S7-1200控制器在复杂多轴伺服控制中的编程技巧;②提供实际工程案例供参考,便于快速应用于类似的工程项目;③提高系统的稳定性和可靠性,确保在工业生产环境中高效运作。 其他说明:本文提供了丰富的代码片段和详细的解释,有助于读者更好地理解和实践。同时,文中提到的结构化编程思想和模块化设计理念对于提升编程效率和代码质量非常有价值。
文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 编译闪电般迅速,并发性能卓越,部署轻松简单!Go 语言以极简设计理念和出色工程性能,成为云原生时代的首选编程语言。从 Docker 到 Kubernetes,全球顶尖科技企业都在采用 Go。点击了解 Go 语言的核心优势、实战窍门和未来走向,开启高效编程的全新体验!
内容概要:本文详细介绍了自然语言处理(NLP)及其核心技术Transformer的发展与应用。首先阐述了NLP的核心任务,包括语言理解(词法、句法、语义分析)、语言生成(文本摘要、对话系统等)和应用扩展(故障报告分析、情感分析等)。接着重点解析了2017年提出的Transformer模型,它摒弃传统RNN/CNN,采用自注意力机制,具有编码器-解码器结构和多头注意力机制,显著提升了长距离依赖建模能力,并衍生出BERT、GPT、T5等预训练模型。此外,还介绍了NLP的技术进展,如基于大规模语料库的自监督学习和微调机制,以及多模态拓展。最后提及了YOLO与NLP在特定资源包中的间接联系,强调当前NLP技术以Transformer为核心,持续推动语言智能边界。; 适合人群:对自然语言处理及Transformer技术感兴趣的科研人员、开发者及相关领域的学生。; 使用场景及目标:①了解NLP的基本概念和发展历程;②深入理解Transformer架构及其在NLP中的应用;③掌握NLP的关键技术进展和未来发展方向。; 其他说明:本文虽然提到YOLO,但主要聚焦于NLP与Transformer,YOLO仅在特定情况下与NLP存在间接关联。