package com.ddd

{importflash.display.Sprite;importflash.display.StageScaleMode;importflash.events.Event;/**

* 3d多物体点旋转

* @author Administrator

**/

public class RotateY extendsSprite

{private var balls:Array=[];private var num:int=10;private var vpX:Number=stage.stageWidth / 2;private var vpY:Number=stage.stageHeight / 2;private var fl:Number=250;public functionRotateY()

{super();

stage.scaleMode=StageScaleMode.NO_SCALE;

init();

}private functioninit():void

{for (var i:int=0; i < num; i++)

{var ball:Ball=new Ball;

this.addChild(ball);

ball.xpos=Math.random() * 200 - 100;

ball.ypos=Math.random() * 200 - 100;

ball.zpos=Math.random() * 200 - 100;

balls.push(ball);

}

this.addEventListener(Event.ENTER_FRAME, onEnterFrame)

}private functiononEnterFrame(e:Event):void

{//注意这里,这是朝着鼠标坐标方向的运动方式

var angleY:Number=(mouseX - vpX) * .001;var angleX:Number=(mouseY - vpY) * .001;for (var i:int=0; i < num; i++)

{var ball:Ball=balls[i];

rotateY(ball, angleY);

rotateX(ball, angleX);

dopetive(ball);

}

sortZ();

}private function rotateY(ball:Ball, _angle:Number):void

{var xp:Number=Math.cos(_angle) * ball.xpos - Math.sin(_angle) *ball.zpos;var zp:Number=Math.cos(_angle) * ball.zpos + Math.sin(_angle) *ball.xpos;

ball.xpos=xp;

ball.zpos=zp;

}private function rotateX(ball:Ball, _angle:Number):void

{var yp:Number=Math.cos(_angle) * ball.ypos - Math.sin(_angle) *ball.zpos;var zp:Number=Math.cos(_angle) * ball.zpos + Math.sin(_angle) *ball.ypos

ball.ypos=yp;

ball.zpos=zp;

}private functiondopetive(ball:Ball):void

{if (ball.zpos > -fl)

{var scale:Number=fl / (fl +ball.zpos);

ball.scaleX=ball.scaleY=scale;

ball.x=vpX + ball.xpos *scale;

ball.y=vpY + ball.ypos *scale;

ball.visible=true;

}else{

ball.visible=false;

}

}private functionsortZ():void

{

balls.sortOn("zpos", Array.DESCENDING |Array.NUMERIC);for (var i:int=0; i < num; i++)

{var ball:Ball=balls[i];

this.setChildIndex(ball, i)

}

}

}

}

java 3d文字旋转_3d多物体点旋转相关推荐

  1. java 3d模型插件_3D模型整合插件 Kitbasher V1.2 支持3DS MAX 2012~2018

    Kitbasher V1.2 插件是可以在3DS MAX中将多个3D模型组合成一个完整的模型,多种参数可以设置. This plugin for 3ds Max gives users the pow ...

  2. Java三维文字特效设计_jQuery实现3D文字特效的方法

    本文实例讲述了jQuery实现3D文字特效的方法.分享给大家供大家参考.具体如下: 这款基于jQuery的3D文字特效演示,不是真正的3D,是由多个文字形成的3D效果,如果首次加载网页出错的话,请刷新 ...

  3. java 3D学习笔记

    Java3D 运行及开发环境的安装运行Java 3D for Windows (OpenGL Version) SDK for the JDK (includes Runtime) (java3d-1 ...

  4. 2020.10.22--AI--立体图形制作、矛盾空间图形设计、3D文字

    立体图形制作 1.先用矩形工具画出一个矩形,填充颜色,然后用直接选择工具选住左边的两个角,给它向上移动 2.把图进行复制对称,然后对齐 3.把图形选住点右键编组,进行复制,然后旋转对称,编组 4.把图 ...

  5. 【宋飞】 java 3D学习笔记

    Java3D 运行及开发环境的安装运行Java 3D for Windows (OpenGL Version) SDK for the JDK (includes Runtime) (java3d-1 ...

  6. 沿着x轴旋转的html例子,CSS3旋转实例学习(附3D旋转实例)

    我们都有在网页上见过一些交互性的效果,比如用鼠标滑向图标或是按钮的时候,图标会自动旋转一周,这就是CSS3旋转效果.在CSS3中有个常见的transform应用,transform主要包括以下几种:旋 ...

  7. 方形物体绕中心旋转的扭力_三维旋转

    chopper:目录​zhuanlan.zhihu.com 本篇文章主要介绍三维空间下旋转的三种表示形式:四元数.矩阵和欧拉角,阐述了三种旋转表示的数学原理并且对比了它们的优缺点.目录结构: 四元数 ...

  8. Java 3D 开发

    OPENGL.VRML.DIRECT3D.JAVA3D的比较 Java3D建立在JAVA基础之上,JAVA语言的简单性使JAVA3D的推广有了可能.它实现了以下三维显示能够用到的功能: 生成简单或复杂 ...

  9. java 3D 第二章 java 3D基本概念

    java 3D 第二章 java 3D基本概念 java 3D基本概念 java 3D的包及其功能 java 3D 高分辨率大尺度坐标 Java 3D场景图(Scene Graph) VirtualU ...

最新文章

  1. 图解MongoDB的连接与使用,通俗易懂
  2. 详解go语言的array和slice 【二】
  3. 当用户流失比较明显后, 如何提升活跃度? push notification 是一个有效的方式吗?...
  4. 95-910-170-源码-FlinkSQL-Flink SQL 中的流和动态表
  5. android studio方法的调用树,Android Studio 多层级 Module 对 aar 引用问题解决方法
  6. TSQL--HASH JOIN
  7. 用于编写configure.in的Config语言简介
  8. linux下Oracle 10g的安装
  9. arduino动态刷新显示_Arduino驱动TFT彩色触摸屏-有没有更好的方法?
  10. 修改注册表解决每次打开office2010都会出现正在配置的问题
  11. 高性能科学计算、工程计算仿真用电脑装机经验
  12. 机器人学回炉重造(1):正运动学、标准D-H法与改进D-H法的区别与应用(附ABB机械臂运动学建模matlab代码)
  13. word制作多级标题目录
  14. 关于lodop的学习小计
  15. 解答千古难题:路由器到底用不用定期关闭?
  16. 元学习入门详解(MAML算法及Reptile算法复现)
  17. 网站倒计时使用服务器时间,根据服务器时间校准倒计时时间
  18. 超像素经典算法SLIC的代码的深度优化和分析。
  19. 计算机网络笔记02---网络边缘和网络核心
  20. 计算两幅图像的PSNR和SSIM以及python代码实现

热门文章

  1. NLP情感分析笔记(二):Updated情感分析
  2. 大数据开发笔记(四):Hive数仓调优
  3. winform前后端框架_ABP开发框架前后端开发系列(1)框架的总体介绍
  4. python删除指定路径文件_基于python实现删除指定文件类型
  5. 高阶无模型自适应迭代学习控制学习记录
  6. java制作风车图像的main方法_创意图形的绘制 会转的风车
  7. ln -s命令 linux_浅谈linux中ln命令,附带案例
  8. scrapy 中爬取时被重定向_Scrapy详解之scrapy shell
  9. 中职计算机专业第二单元试题,大学计算机Moodle第二单元测验满分答案
  10. 鳗鱼刺多怎么处理图像_图像二值化处理