`
yangshen998
  • 浏览: 1247239 次
文章分类
社区版块
存档分类
最新评论

在Windows Phone中进行3D开发之一坐标系

 
阅读更多

Windows Phone中通过XNA为开发人员提供了游戏框架,大大提高了游戏开发的效率,这个就不必多言了。在享受使用XNA进行2D开发的便捷的同时,还可以同样便捷的实现3D开发,我想通过系列文章对此进行介绍,供想在Windows Phone环境中使用XNA进行3D开发的朋友参考。

3D开发需要更多的知识,包括线性代数、计算机图形学等,这些理论不在本文的范围当中,有需要的朋友可以找到很多参考书,这里不详细介绍。

下面,我们来了解一下3D世界的基本情况。

首先,我们来看一下坐标系。在2D平面中,坐标系是再熟悉不过的了,用的是笛卡尔坐标系,由互相垂直的x、y两个坐标轴唯一确定了一个平面,平面中所有的点都可以表示成(x,y)的形式。

在3D空间中,由于引入了深度,所以平面坐标显然不能满足要求了,需要有三维坐标来表示空间中的点。三维坐标系有时也称为世界坐标系,使用x、y、z三个坐标轴,是在平面坐标系的x、y轴平面上引入一条垂直于该平面的z轴。在Windows Phone中,采用了右手坐标系,当手机屏幕面对我们时,z轴的正方向从手机屏幕向外指向人脸。空间中所有的点都被表示成(x,y,z)的形式,原点是(0,0,0)。坐标系如下图所示。(注:图片来源于微软的实验手册)

既然空间中所有的点都需要使用(x,y,z)的形式来表示,为了便于编程,XNA中提供了Vector3类。Vector3类为空间中的点和矢量的表示带来了便利,常见的用户法是:

Vector3 pos=new Vector3(0,0, 20);

对于零向量或常用的向量,Vector3类也提供了静态方法供我们使用,比如创建一个零向量可以写成:

Vector3 pos=Vector3.Zero;

Vector3类还提供了加、减、乘、除等运算,以及求交点、距离的运算,可以方便的在程序开发中使用。

这样,我们知道了3D坐标系的使用和在代码中的表达,但是,这还不足以进行3D开发。试想,空间中的一个物体,虽然它所处的坐标不变,但我们可以从任意的角度来观看,每个角度观看到的结果却是不一样的。因此,仅有坐标系还是不够的,在下文中我们还要增加新的内容,才能确定一个空间中的物体的真实表达。欲知后事如何,且待下文分解。

——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——

分享到:
评论

相关推荐

    WindowsPhone XNA4.0 3D 游戏开发 PDF电子书

    WindowsPhone XNA4.0 3D 游戏开发 PDF电子书WindowsPhone XNA4.0 3D 游戏开发 PDF电子书

    Windows Phone游戏开发实战

    对游戏场景和游戏菜单、2D动画和纹理处理、精灵的矢量移动和控制、战斗和魔法系统、关卡设计和AI系统、音效处理和文本处理、游戏优化等这些在游戏开发中遇到的实际问题进行了详细的分析和解答,并对XNA主流框架和...

    windows phone 开发在线教程

    windows phone 开发 在线教程

    [Windows Phone] Windows Phone 8 游戏开发教程 (英文版)

    [Packt Publishing] Windows Phone 8 游戏开发教程 (英文版) [Packt Publishing] Windows Phone 8 Game Development (E-Book) ☆ 图书概要:☆ A practical guide to creating games for the Windows Phone 8 ...

    Windows Phone SDK v7.1.1 开发工具.exe

    今天,微软面向开发者正式发布了Windows Phone SDK 7.1开发工具的RTW版 Windows Phone SDK 7.1.1 更新在现有的 Windows Phone SDK 7.1 的基础上提供了更多功能。使用此更新,您可以更加轻松地开发可在 256 MB 设备...

    《深入浅出 windows phone 7应用开发》样章试读

    本书系统论述了Windows Phone 7操作系统的应用开发,全书由浅入深地介绍了Windows Phone 7应用程序开发的各方面知识,分为开发基础篇、开发技术篇和开发实例篇3个部分,从不同的层面进行了阐释。开发基础篇介绍了...

    windows phone 开发书籍及资料

    windows phone 开发书籍及资料

    仿Windows Phone博客导航源码

    Windows Phone Blog Menu是一个Silverlight导航控件,看起来像Windows Phone 7。 控件中的tiles链接到web站点在你的博客中使用这个控件可以表达你对WP7的喜爱。 Windows Phone Blog Menu is a Silverlight ...

    Windows Phone7开发教程汇总

    Windows Phone7是微软重新打造windows mobile品牌之后推出的一款产品。

    Windows Phone 7开发环境搭建

    前言 随着Windows Phone 7发布日期的临近,作为微软的全新智能设备平台越来越受关注。...希望读者通过阅读这个系列的文章,并一同完成文章中的步骤,从而入门了Silverlight for Windows Phone的开发。

    深入浅出Windows Phone 8.1应用开发(Runtime框架)_源代码

    深入浅出Windows Phone 8.1应用开发(Runtime框架)_源代码

    Windows Phone 7入门经典:使用Silverlight和XNA开发Windows Phone应用

    对Windows Phone 7应用程序生命周期的深度剖析,在与硬件进行交互和使用Expression Blend来创建更丰富的用户界面方面提供的建议,这些都有助于你学习创建独特而又实用的Windows Phone 7应用程序。

    Windows Phone8实战百度云客户端开发课程 第一节

    Windows Phone(简称:WP)是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。微软公司于2010年10月11日晚上9点30分正式发布了智能手机操作系统Windows ...

    “一起学WindowsPhone7开发”系列视频课程(15讲)

    共15讲,对Windows Phone7各个功能模块开发都有所讨论,是一个由入门到深入的系列课程,可以使您对Windows Phone7的开发有一个完整的认识,也为您进入更深层次的开发奠定了基础。1初识Windows Phone 72Silverl 资源...

    一起学Windows Phone7开发系列课程(9-15)

    Windows Phone7 是今年年初才推出的一个全新的移动平台,集成了微软Silverlight和XNA两大优势产品框架在里面,使这个平台与Windows mobile平台有了很大的区别,由于这种差别的存在,使应用开发也不同于以往的Windows ...

    在Windows中安装iPhone开发环境

    在Windows中安装iPhone开发环境

    一起学Windows Phone7开发系列课程(1-8)

    Windows Phone7 是今年年初才推出的一个全新的移动平台,集成了微软Silverlight和XNA两大优势产品框架在里面,使这个平台与Windows mobile平台有了很大的区别,由于这种差别的存在,使应用开发也不同于以往的Windows ...

    Windows Phone开发-XNA基础

    Windows Phone开发-XNA基础

    windows phone7完美开发征程

    第一本全面介绍Windows Phone 7开发的中文图书!...本书适合于对微软全新智能手机平台Windows Phone 7的开发感兴趣的大专院校师生、需要在Windows Phone 7平台上进行商业开发的程序员或编程爱好者阅读。

    Windows Phone应用程序开发源代码

    《Windows Phone应用程序开发》内容从入门到进阶,知识覆盖全面,并且以一个开发者的学习顺序进行组织,从开发环境的安装,到应用产品的发布;从基本控件的开发,到Silverlight Toolkit高级控件的介绍;从前端UI的...

Global site tag (gtag.js) - Google Analytics