指定对象旋转中心

默认情况下,对象的旋转中心都是自身的中心。对于组对象而言,也是如此。因此,可以利用这个特点,实现对象绕任何点旋转,也就是指定旋转中心。比如我们想要下图的对象绕A点旋转

我们可以添加我们的对象到一个组对象,然后移动对象,让A点对准组的中心位置,如下:


此时,如果我们旋转组对象,整个组里面的对象都绕着组的中心旋转,那么就实现了对象绕A点旋转了。

但是,此时我们的对象位置变了,所以,我们再把组对象往回移,让对象回到原来的位置,如下:

这样,我们就实现了指定对象旋转中心的能力了。具体实现如下:


//通过x,y,z指定旋转中心,obj是要旋转的对象
function changePivot(x,y,z,obj){let wrapper = new THREE.Object3D();wrapper.position.set(x,y,z);wrapper.add(obj);obj.position.set(-x,-y,-z);return wrapper;
}

【完整例子】【参考资料】

threejs指定对象旋转中心相关推荐

  1. [js] 写一个方法遍历指定对象的所有属性

    [js] 写一个方法遍历指定对象的所有属性 Object.keys().Object.values()只能遍历对象自有的属性,for in 可以遍历原型中的属性. 个人简介 我是歌谣,欢迎和大家一起交 ...

  2. js删除数组中指定对象

    js删除数组中指定对象 需求说明 从数组中移除指定对象函数封装 `removeArray` 从数组中获取指定对象索引函数封装 `getArrayIndex ` 在`Vue`中调用函数使用 需求说明 点 ...

  3. js删除数组中的指定对象

    js删除数组中的指定对象 正常删除有时存在无法完全删除指定的所有对象,原因就在于如果从头开始循环,遇到连续两个需要删除的元素时,删掉第一个,下一个元素就自动顶上来代替已删除的元素位置,然后程序再一次循 ...

  4. js根据数组对象属性删除里面的指定对象

    1.原数组 let list = [{type:"aaaaaa", name:'张三'},{type:"bbbbbb", name:'李四'},{type:&q ...

  5. 【gitHubDailyShare】莫斯科三星人工智能中心开源,快速进行图像修复、指定对象移除

    GitHub 上一个比较有意思的开源库:LaMa,由莫斯科三星人工智能中心开源,可快速进行图像修复.指定对象移除等操作.一个比较有意思的开源库,由莫斯科三星人工智能中心开源,可快速进行图像修复.指定对 ...

  6. JS删除数组中指定元素/删除数组中指定对象

    删除数组中指定对象指定元素 let arr = [{name: "xiaowang",id: 1 },, {name: "xiaozhang",id: 2 }, ...

  7. CDR如何将绘图页面指定对象保存为JPG格式

    通过上文的介绍,我们已经会将CDR文件保存为JPG格式了,相关内容可点击CDR怎么保存JPG格式.但是被保存的是CDR绘图区域(包括绘图页面和绘图窗口)的所有对象,如果想要单独保存.导出某一个对象,该 ...

  8. threejs设置对象层次

    设置层次 threejs提供了层次的支持.和相机处于同一层次的对象可见,否则不可见.在threejs中,最多可以设置32层,默认的层次是1.层次在有些系统中很有用,可以将不同的模式的对象设成不同的层次 ...

  9. java 拷贝属性值_Java 反射拷贝相同的属性值到指定对象中(两种实现方式)

    范例: public class ReflectUtils { private ReflectUtils() {}; /** * 对象反射赋值 * * @param source 目标对象 * @pa ...

最新文章

  1. [LeetCode]题解(python):076-Minimum Window Substring
  2. Python 必背的42个常见单词,看看你记住了几个?
  3. c# vscode 配置_[VSCode插件推荐] Code Runner: 代码一键运行,支持超过40种语言
  4. pytorch教程龙曲良21-25
  5. LevelDB原理及应用
  6. 实现字符串的编码转换,用以解决字符串乱码问题
  7. 2020_12-电路理论框架复习思考-基础篇
  8. Higher level thinking
  9. debian 8 和centos 配置java 环境变量的正确姿态
  10. 「实战篇」开源项目docker化运维部署-搭建mysql集群(四)
  11. 什么是域名(Domain Name ) ?
  12. 夏令营导师自荐信计算机专业,北大夏令营的自荐信
  13. python str center_Python str方法总结
  14. 关于win10打印机设置错误,无法打印的解决办法
  15. 首席新媒体运营黎想教程:线上活动推广策划及方案解析
  16. Android Gatekeeper梳理
  17. 2068 Problem M 鸡兔同笼
  18. Eclipse连接远程Hadoop集群运行WordCount例程
  19. C++ Hanoi塔学习笔记(递归与非递归实现)
  20. 8、多设备和异构插件

热门文章

  1. svn locked解决方法
  2. 反编译一款APP然后重新打包(Windows环境)
  3. Android修改项目包名
  4. 微信地图 leaflet 腾讯地图
  5. 2017年什么命_所谓“佛系”,真的不是什么都不做!
  6. dataGridview与下拉框高级绑定
  7. pytorch之with torch.no_grad
  8. java ReentrantLock 使用
  9. 图书推荐(持续更新)
  10. jq多选框全选,多选