翻转立方体为什么在3ds Max9里面翻转立方体的法线后,从外面看不见里面的东西?

翻转立方体  时间:2021-07-06  阅读:()

可不可以告诉我用AE做旋转立方体的详细步骤?感谢

首先,你创建一个方形像素的固态层solid,然后打开后面的三维盒子 第二:再把这个固态层复制5个。

第三:新建一个摄像机,按“C”键 可以切换 摄像机的移动、旋转、缩放。

第四:你再把 前面复制的5个固态层调节它的position(位移),Rotation(旋转)。

使这六个固态层接缝出没有缝隙就可以了。

第五:如果你想让这个盒子旋转,那你就新建一个Comp合成,然后再把 上面的那个合成拖到 新建的这个Comp里面,然后打开塌陷开关,就可以了

这是个旋转正方体的java代码,请高手添加注释和必要的说明

import java.awt.*; import java.applet.*; public class Wuerfel extends Applet { double p[][] = new double[9][4]; //绘制正方体的顶点的数组 int x=1, y=2, z=3; public void init() { setSize(600, 480); setBackground(new Color(255,255,255)); //背景色设置为白色 p[1][x] = -100; p[1][y] = -100; p[1][z] = -100; //下列数组为正方体的各个边 p[2][x] = +100; p[2][y] = -100; p[2][z] = -100; p[3][x] = +100; p[3][y] = -100; p[3][z] = +100; p[4][x] = -100; p[4][y] = -100; p[4][z] = +100; p[5][x] = -100; p[5][y] = +100; p[5][z] = -100; p[6][x] = +100; p[6][y] = +100; p[6][z] = -100; p[7][x] = +100; p[7][y] = +100; p[7][z] = +100; p[8][x] = -100; p[8][y] = +100; p[8][z] = +100; } double angle_x = 0.01; //X轴旋转速度,参数越大,转速越大 double angle_y = 0.0075; //Y轴旋转速度,参数越大,转速越大 double angle_z = 0.005; //Z轴旋转速度,参数越大,转速越大 Image buffer; Graphics2D gBuffer; public void paint(Graphics g) { //绘图方法 if (buffer==null) {//判定程序是否为初始化,即正方体是否已经被绘制 buffer=createImage(this.getSize().width, this.getSize().height); //获取关于Image的Graphics2D对象,用于绘图 gBuffer=(Graphics2D)buffer.getGraphics(); } //清空绘图区域 gBuffer.clearRect(0,0,this.getSize().width, this.getSize().height); //设置图像的表现模式,此处设置图形抗锯齿 gBuffer.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); //以下为汇整整个正方体 gBuffer.drawLine((int)(p[1][x])+200,(int)(p[1][y])+200,(int)(p[2][x])+200,(int)(p[2][y])+200); gBuffer.drawLine((int)(p[2][x])+200,(int)(p[2][y])+200,(int)(p[3][x])+200,(int)(p[3][y])+200); gBuffer.drawLine((int)(p[3][x])+200,(int)(p[3][y])+200,(int)(p[4][x])+200,(int)(p[4][y])+200); gBuffer.drawLine((int)(p[4][x])+200,(int)(p[4][y])+200,(int)(p[1][x])+200,(int)(p[1][y])+200); gBuffer.drawLine((int)(p[5][x])+200,(int)(p[5][y])+200,(int)(p[6][x])+200,(int)(p[6][y])+200); gBuffer.drawLine((int)(p[6][x])+200,(int)(p[6][y])+200,(int)(p[7][x])+200,(int)(p[7][y])+200); gBuffer.drawLine((int)(p[7][x])+200,(int)(p[7][y])+200,(int)(p[8][x])+200,(int)(p[8][y])+200); gBuffer.drawLine((int)(p[8][x])+200,(int)(p[8][y])+200,(int)(p[5][x])+200,(int)(p[5][y])+200); gBuffer.drawLine((int)(p[1][x])+200,(int)(p[1][y])+200,(int)(p[5][x])+200,(int)(p[5][y])+200); gBuffer.drawLine((int)(p[2][x])+200,(int)(p[2][y])+200,(int)(p[6][x])+200,(int)(p[6][y])+200); gBuffer.drawLine((int)(p[3][x])+200,(int)(p[3][y])+200,(int)(p[7][x])+200,(int)(p[7][y])+200); gBuffer.drawLine((int)(p[4][x])+200,(int)(p[4][y])+200,(int)(p[8][x])+200,(int)(p[8][y])+200); g.drawImage (buffer, 0, 0, this);//完成整个空间的绘制 try { //线程休眠10毫秒,此处的作用相当于给旋转正方体一个时间间隔,若不休眠,正方体的旋转式不容易看出的 Thread.sleep(10); } catch (InterruptedException e) {} double px, py, pz; //正方体顶点旋转后坐标 for (int i=1;i<9;i++) { px = p[i][x]; //顶点旋转前X坐标 py = p[i][y]; //顶点旋转前Y坐标 pz = p[i][z]; //顶点旋转前Z坐标 //X轴旋转变换 p[i][y] = py*Math.cos(angle_x)-pz*Math.sin(angle_x); p[i][z] = py*Math.sin(angle_x)+pz*Math.cos(angle_x); py = p[i][y]; //X轴变换后坐标 pz = p[i][z]; //Y轴旋转变换 p[i][x] = px*Math.cos(angle_y)+pz*Math.sin(angle_y); p[i][z] =-px*Math.sin(angle_y)+pz*Math.cos(angle_y); px = p[i][x]; //变换后坐标 //Z轴旋转变换 p[i][x] = px*Math.cos(angle_z)-py*Math.sin(angle_z); p[i][y] = py*Math.cos(angle_z)+px*Math.sin(angle_z); } repaint(); //重绘,即重新调用paint方法 } public void update(Graphics g) {paint(g);} } 这个类最核心的地方还是在paint方法,paint中最核心的部分又是关于坐标的旋转变换和sleep休眠,整个程序看下来还是不难理解的. 程序通过二维数组存储正方体的顶点坐标,初次绘制,然后调用线程重复旋转变换顶点坐标,然后重绘变换后的顶点坐标.因为有sleep,所以每次时间间隔后重绘的图像会和前一图像连续形成整体旋转动画。

关于旋转速度参数很重要,整个程序可以通过改变它来控制转速。

为什么在3ds Max9里面翻转立方体的法线后,从外面看不见里面的东西?

法线,决定面的正反面,法线方向是正面,相反的是背面。

3DMAX默认是只显示正面的,因此反转法线后,外面为背面,看不见是应该的。

可以移动相机到方体内侧,可看见里面的面,因为法线反转了,里面为正面。

在面板最右面有个显示器图标的,在里面可以设定显示方式:正面可见,2面都可见。

好多年没玩3DMAX了,介绍方法时有点含糊··

LOCVPS新上韩国KVM,全场8折,2G内存套餐月付44元起_网络传真服务器

LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...

瓜云互联:全场9折优惠,香港CN2、洛杉矶GIA高防vps套餐,充值最高返300元

瓜云互联怎么样?瓜云互联之前商家使用的面板为WHMCS,目前商家已经正式更换到了魔方云的面板,瓜云互联商家主要提供中国香港和美国洛杉矶机房的套餐,香港采用CN2线路直连大陆,洛杉矶为高防vps套餐,三网回程CN2 GIA,提供超高的DDOS防御,瓜云互联商家承诺打死退款,目前商家提供了一个全场9折和充值的促销,有需要的朋友可以看看。点击进入:瓜云互联官方网站瓜云互联促销优惠:9折优惠码:联系在线客...

RAKsmart新年钜惠:E3服务器秒杀$30/月起,新上韩国服务器,香港/日本/美国站群服务器,VPS月付$1.99起,GPU服务器,高防服务器_vps香港

RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...

翻转立方体为你推荐
一物一码什么是一物一码、一品一码?谁家做的比较好啊?httpsessionhttpsession和session的区别rbf神经网络rbf神经网络的输入参数个数有上限么洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!showwindowVB6.0中ShowWindow函数的使用vipjrvipjr怎么样?有真实体验的来说一下php论坛用php写一个论坛,重点是什么?还有具体的功能,谢谢ruby语言Ruby语言输入方法法jsindexofjavascript 中indexof 的用法pci数据捕获和信号处理控制器大侠们,PCI数据捕获和信号处理控制器不能正常工作了要怎么解决啊,是不是要安装主板驱动啊?
.cn域名注册 租服务器价格 网站域名备案查询 汉邦高科域名申请 中国万网域名 科迈动态域名 smartvps cve-2014-6271 站群服务器 cdn服务器 evssl证书 php探针 debian源 e蜗 183是联通还是移动 域名评估 国外代理服务器地址 怎么建立邮箱 卡巴斯基免费试用版 阿里云手机官网 更多