`
ienown
  • 浏览: 6725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

基础知识03-drawTriangles三维到二维投影[转]

阅读更多
转载 原文为 [url]http://www.pan3d.me/tutorial [/url]作者 Pan3d.Me



核心提示, 在这里,我们不单只是把三角形画出来了,而是跟据真实的空间中的4个点(一个矩形面) 投影成像在镜头上来了,

这样一来,我们就可以通过这种方法将任何三维对象(如,建筑,人) 中的三角形逐个绘制出来。

程序提示。 (下载并打开源文件)

_br=200 是指焦距

存储三维的点坐标, (为了更好直观 需要自己修改其中的一些数据,观察图像变化)

_pointitem.push(new Vector3D( -100, 50, -50) );
_pointitem.push(new Vector3D( -100, -50, -50) );
_pointitem.push(new Vector3D( 100, -50, 50) );
_pointitem.push(new Vector3D( 100, 50, 50) );

因为是三维的数据我们需要转成为二维的,(3D的数据有x,y,z, 2D只有 x,y);

private function transform3d_to_2d(_point:Vector3D) {      //传入一个三维坐标,通过映射公司可以得到 二维坐标,
return {x:_point.x / (_point.z+_br) * _br ,y:-_point.y / (_point.z+_br) * _br}
}

二维坐标Y 为什么要将 三维的 Y坐标 加一个负数呢, 上章有说过,FLASH 舞台跟我们数学中的坐标 Y是相反的,

  • 大小: 69.6 KB
  • 6.rar (143.6 KB)
  • 下载次数: 0
分享到:
评论

相关推荐

    flash3d教学之基础知识02-drawTriangles绘制两个三角形[转]

    NULL 博文链接:https://ienown.iteye.com/blog/1008325

    draw-triangles-2d:使用 Canvas2D 上下文绘制简单复形

    var drawTriangles = require ( 'draw-triangles-2d' ) var path = [ [ 25 , 25 ] , [ 40 , 30 ] , [ 50 , 75 ] , [ 125 , 15 ] ] //get a thick polyline var mesh = require ( 'extrude-polyline' ) ( { ...

    as3-blog-source-code:我(已不复存在的)FlashActionScript 博客上帖子的源代码

    BitmapData 基础知识:如何使用 BitmapData 类。 使用 Drawtriangles绘制 3D 形状:使用 graphics.drawTriangles 渲染 3D 形状。 将图像保存为高清:将位图对象转换为 JPEG 或 PNG 并保存。 创建音频可视化器:从...

    node-v8.1.4-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    麦肯锡-xxKPI方案gl.ppt

    麦肯锡-xxKPI方案gl.ppt

    基于Transformer模型构建的聊天机器人python源码+运行说明.zip

    一、简介 基于Transformer模型构建的聊天机器人,可实现日常聊天。 二、系统说明 2.1 功能介绍 使用者输入文本后,系统可根据文本做出相应的回答。 2.2 数据介绍 * 百度中文问答 WebQA数据集 * 青云数据集 * 豆瓣数据集 * chatterbot数据集 由于数据集过大,因此不会上传,如有需要可以在issue中提出。 2.3. 模型介绍(v1.0版本) 基于Transformer模型,使用Python中的keras-transformer包。 训练的参数文件没有上传,如有需要可在issue中提出。 三、注意事项 * keras-transformer包需要自行安装:`pip install keras-transformer`。 * 如果需要实际运行,参数文件放在`ModelTrainedParameters`文件下;`ListData`文件下包含了已经处理好的字典等数据,不需要修改,直接运行Main.py即可。 * 如果需要自行训练,将数据集文件放在`DataSet`文件下。 * `HyperParameters.py`文件中包含了系统所需

    -大学生心理健康数据集

    -大学生心理健康数据集

    拾放机构3D 拾放机构3D

    拾放机构

    遥控器的飞行控制操作、视频回传、数据透传以及获取无人机的飞行参数等功能

    APP基于DJI Mobile SDK,实现了获取和释放遥控器的控制权限、模拟遥控器的飞行控制操作、视频回传、数据透传以及获取无人机的飞行参数等功能。.zip

    SITRANS LG240 操作说明书

    SITRANS LG240 操作说明书

    基于matlab实现的matlab中的通信工具箱中simulink搭建直接序列扩频系统并进行仿真.rar

    基于matlab实现的matlab中的通信工具箱中simulink搭建直接序列扩频系统并进行仿真.rar

    基于无人机吊舱单目相机的目标定位算法与C++代码实现.zip

    无人机最强算法源码,易于部署和学习交流使用

    360qx无人机app.zip

    无人机最强源码,无人机算法,易于部署和学习交流使用

    无人机降落TRT版本.zip

    无人机最强算法源码,易于部署和学习交流使用

    node-v9.0.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ISO 19453-4-2018.pdf

    ISO 19453-4-2018.pdf

    该项目是一个无人机地面站,通过visual studio编译.zip

    无人机最强算法源码,易于部署和学习交流使用

Global site tag (gtag.js) - Google Analytics