three.js中让模型自动居中的代码如下:
//load_Model为需要居中的3D模型
//原理是通过boundingBoxHelper 来计算模型的大小范围 var hex = 0xff0000;
var MD_Length,MD_Width,MD_height;//记录长宽高
var BaxH = new THREE.BoundingBoxHelper(Load_Model,hex);//创建BoundingBoxHelper
BaxH.update();//更新
scene.add( BaxH ); //添加到场景中
MD_Length=BaxH.box.max.x-BaxH.box.min.x; //长
MD_Width=BaxH.box.max.z-BaxH.box.min.z;//宽
MD_height=BaxH.box.max.y-BaxH.box.min.y;//高 //计算模型中心位置
var Cx,Cy,Cz;
Cx=BaxH.box.min.x+MD_Length/;
Cz=BaxH.box.min.z+MD_Width/;
Cy=BaxH.box.min.y+MD_height/; //添加并设置group坐标位置
var group=new THREE.Group();
scene.add(group);
group.position.set(,,);
group.add(Load_Model);//将模型加入到group中 //计算新模型新位置 根据模型中心位置设置偏移方向
var NewX,NewY,NewZ;
if(Cx>=){
NewX=-Cx;
}else{
NewX=Cx;
} if(Cy>=){
NewY=-Cy;
}else{
NewY=Cy;
} if(Cz>=){
NewZ=-Cz;
}else{
NewZ=Cz;
} Load_Model.position.set(NewX,NewY,NewZ);
three.js中让模型自动居中的代码如下:的更多相关文章
- js中盒子模型常用的属性你还记得几个?
//clientWidth;//内容宽度Width+左右填充padding//clientHeight;//内容高度height+上下填充padding//clientLeft;//左边框的宽度相当于 ...
- js中网页图片自动更换的效果
<script> var arr=new Array(); arr[]="url(images/city.jpg)"; arr[]="url(images/d ...
- 【转】Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
Intellij IDEA 14 作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入Intellij IDEA的怀抱. 然而在使用的过程中 ...
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
一:项目建立好及其基本的测试好 二:在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build> <finalName&g ...
- IDEA 中使用MyBatis-generator 自动生成MyBatis代码
0.在Intellij IDEA创建maven项目 1. 在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build> < ...
- js中的颜色对应的常量代码code
颜色的对照表 颜色 英文代码 形像颜色 HEX格式 RGB格式 LightPink 浅粉红 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 ...
- js中关于声明提前的几个误区
声明提前: 在程序正式执行之前,都会将所有的var声明的变量提前到开始位置,集中创建,而赋值留在原地. 例如这样一段代码 console.log(a) var a = 100; console.log ...
- JS中的存储机制
一.堆和栈的介绍 1.堆和队,是先进先出:栈,是先进后出,就跟水桶差不多: 2.存储速度:堆和队的存储速度较慢,栈的存储速度较快,会自动释放: 二.js中存储的类型 1.堆,一般用于复杂数据类型,存储 ...
- JS中的字符串可以直接调用字符串对象的属性和方法
在JS中,会自动在字符串与字符串对象之间进行转换,因此,任何一个字符串常量都可以看作是一个String对象,其可以直接作为对象使用,只要在字符串变量的后面加 “.” 便可以直接调用String对象的属 ...
随机推荐
- 使用VirtualBox 版本 6.1.2 r135662, 安装ubuntu18
VDI是VirtualBox的基本且独有的格式.目前应该还没有支持这种格式的其他软件. VMDK是专门为VMWare开发,但其他虚机像Sun xVM,QEMU,VirtualBox,SUSE Stud ...
- 牛客网剑指offer【Python实现】——part2
不用加减乘除做加法 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 两个数异或:相当于每一位相加,而不考虑进位: 两个数相与,并左移一位:相当于求得进位: 将上述两步的 ...
- mysql打开general log的办法
mysql打开general log的办法 mysql打开general log之后,所有的查询语句都可以在general log 文件中以可读的方式得到,但是这样general log文件会非常 ...
- 了解1D和3D卷积神经网络 | Keras
当我们说卷积神经网络(CNN)时,通常是指用于图像分类的2维CNN.但是,现实世界中还使用了其他两种类型的卷积神经网络,即1维CNN和3维CNN.在本指南中,我们将介绍1D和3D CNN及其在现实世界 ...
- Python第十一章-常用的核心模块03-json模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
- 一文搞懂 ThreadLocal 原理
当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要线程封闭出场了. 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的 ...
- Java序列化机制剖析
本文转载自longdick的博文<Java序列化算法透析>,原文地址:http://longdick.iteye.com Java序列化算法透析 Serialization(序列化)是一种 ...
- 尴尬,通篇使用 if
以给博客园头部导航条链接添加图标为例, 接下来看看如何分别使用对象.数组.Map 优化它的. 前置 1.接下来给头部导航条添的图标包含: 博客园首页 新随笔 博客首页 联系 订阅 管理 2.这里封装了 ...
- 【tensorflow2.0】处理图片数据-cifar2分类
1.准备数据 cifar2数据集为cifar10数据集的子集,只包括前两种类别airplane和automobile. 训练集有airplane和automobile图片各5000张,测试集有airp ...
- JS 剑指Offer(五) 二叉树的重建
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 题目分析:已知二叉树的前序和中序遍历,根据前序遍历和中序遍历的规则,前序遍历的第一 ...