PV3D学习笔记-坐标系

为了搞清PV3D的坐标系是左手系还是右手系,最简单的办法就是在场景中画出坐标轴来。

PV3D中的线对象叫Line3D,包含在org.papervision3d.core.geom.renderables中,创建格式为:

 

var 线段名:Line3D=new Line3D(Lines3D对象,材质,粗细,起点坐标,终点坐标);

五个参数中除了粗细可以直接填数字,其他4个都要先创建对象,Lines3D是包含Line3D对象的容器,包含路径是org.papervision3d.core.geomLine3D必须放在Lines3D对象中,才能在场景中显示,Lines3D的创建很简单,直接写:

 

 

var 名称:Lines3D=new Lines3D();

材质则是Line3D对象专用的LineMaterial类型,包含路径是org.papervision3d.materials.special创建方式也很简单,对于纯色材质来说(线段一般都是纯色的吧),只需要带一个颜色参数:

 

var 名称:LineMaterial=new LineMaterial(0x0000FF);

这里创建了一个蓝色线段材质。剩下的起点终点坐标都是Vertex3D类型的,和Line3D包含路径相同,创建时带入三个坐标值即可:

 

 

var p1:Vertex3D=new Vertex3D(0,0,0);

创建完的线条还要用Lines3DaddLine方法加入后才能显示。分别创建指向三个坐标轴的三条线段:

 

 

	private function initLine():void
{
var lmx:LineMaterial=new LineMaterial(0xFF0000);
var lmy:LineMaterial=new LineMaterial(0x00FF00);
var lmz:LineMaterial=new LineMaterial(0x0000FF);

var p1:Vertex3D=new Vertex3D(0,0,0);
var p2:Vertex3D=new Vertex3D(400,0,0);
var p3:Vertex3D=new Vertex3D(0,400,0);
var p4:Vertex3D=new Vertex3D(0,0,400);

LN=new Lines3D();
var l1:Line3D=new Line3D(LN,lmx,2,p1,p2);
var l2:Line3D=new Line3D(LN,lmy,2,p1,p3);
var l3:Line3D=new Line3D(LN,lmz,2,p1,p4);
LN.addLine(l1);
LN.addLine(l2);
LN.addLine(l3);
LN.rotationY=-35;
scene.addChild(LN);

}

这里更改了Lines3D的rotationY值,便于观察Z轴,否则Z轴会垂直屏幕。运行,结果如图:

可以看到在PV3D中,默认的X正向指向屏幕右侧,Y正向指向屏幕上方,Z正向垂直屏幕向内,即PV3D采用的是左手坐标系。

转载于:https://www.cnblogs.com/wocdev/archive/2010/11/06/1870432.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值