threejs 将屏幕坐标转换成3d中的坐标。
将当前屏幕上的坐标转换成3d中的坐标
pos 是当前canvas屏幕上的坐标,targetZ 是物体距离原点的距离 private get3DPosByCanvasPos (pos: THREE.Vector2, targetZ: number) { let vec = new THREE.Vector3(); // create once and reuselet target = new THREE.Vector3(); // create once and reusevec.set(( pos.x / window.innerWidth ) * 2 - 1,- ( pos.y / window.innerHeight ) * 2 + 1,0.5 );let camera = this.camera;vec.unproject( camera );vec.sub( camera.position ).normalize();
var distance = (targetZ - camera.position.z) / vec.z;
target.copy( camera.position ).add( vec.multiplyScalar( distance ) );return target; }
如果想让创建的模型以右边界靠近屏幕可以使用
let vec2 = new THREE.Vector2(window.innerWidth, window.innerHeight / 2); let pos = Game3DMgr.i.get3DPosByCanvasPos(vec2, 0.2); // 这里计算了物体所在三维空间的大小 // 将计算玩的左边减去所占最大和大小值的一般就是 物体当前体积的一般。 this.basketBg.geometry.computeBoundingBox(); let halfWidth = (this.basketBg.geometry.boundingBox.max.x - this.basketBg.geometry.boundingBox.min.x) / 2; pos.x -= halfWidth; this.basketBg.position.set(pos.x, pos.y, pos.z);
threejs 将屏幕坐标转换成3d中的坐标。相关推荐
- 经纬度坐标转换成px_WebGIS中经纬度到像素到屏幕像素坐标的转换介绍及公式
##经纬度坐标转换成屏幕坐标 地理坐标定义规则:X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标.向左.向下的规则.屏幕坐标定义规则:X轴向右递增,Y轴向下递增. 可以看出,地 ...
- 经纬度坐标转换成px_知道经纬度坐标如何转换成 X Y坐标
地理坐标定义规则:X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标.向左.向下的规则. 屏幕坐标定义规则:X轴向右递增,Y轴向下递增.可以看出,地理坐标和屏幕坐标的区别仅仅只是 ...
- 2000坐标转换成经纬度_ArcGIS中的坐标问题快问快答
1.我国常用的地理坐标系有哪些? (1)北京54坐标系(参心) 椭球体:Krasovsky (2)西安80坐标系(参心)椭球体:IAG (3)WGS84坐标系(地心)椭球体:WGS84 (4)大地20 ...
- 将传统的照片在Autodesk® 123D™ Catch中转换成3D模型
将传统的照片在Autodesk® 123D™ Catch中转换成3D模型 http://www.douban.com/group/Catch123D/ Autodesk 123D Catch 如何进行 ...
- unity 坐标系转换_Unity3D之笛卡尔坐标系转换——屏幕坐标转换世界坐标,世界坐标转换相机坐标工具...
因为要做AR的标记功能,所以就要用到坐标的转换,就总结了一下屏幕坐标.世界坐标.相机坐标之间的转换. 首先说明的是Unity3D遵从Direct3D标准的左手笛卡尔坐标系变换规则. 也就是说: 世界坐 ...
- 在WPF中将图片转换成3D图像并可以旋转
原文:在WPF中将图片转换成3D图像并可以旋转 时光偷走的,永远都是我们眼皮底下看不见的珍贵. https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 首先先看 ...
- 如何将tensorflow-yolov3(YunYang1994).txt 坐标转换成yolo的标注(annotations)
原理 代码 # -*- coding: utf-8 -*- """ @File : convert_tf-predict2yolo.py @Time : 2020/2/1 ...
- 如何将yolo的标注(annotations).txt 坐标转换成tensorflow-yolov3(YunYang1994)的.txt 标注坐标?
文章目录 原理 示例 实现代码 实际操作方法 原理 示例 如,这是Yolo的: 转换后就变成酱紫了: 注意:图像坐标原点在左上角 注意:作者引用图片路径时使用的时绝对路径,我们使用相对路径不知是否会出 ...
- Map 3D中程序设置地图中心点
你可能需要在Map 3D中通过程序把某块地图拉到屏幕中央来,下面通过程序的方式来实现这个功能. 这里有两种情况,如果你在Map 3D中通过Data Connect连接到了一下FDO数据源(SDF.SH ...
最新文章
- button 与 input type=button 的区别【2012/07/23】
- 分布式服务框架原来与实践 读书笔记一
- 【比赛】智源计算所-互联网虚假新闻检测挑战赛(冠军)方案分享,代码已开源...
- 给DateField和DateChooser进行汉化
- springcloud---how2java--记录零碎的信息
- MODIS、VIIRS数据下载教程
- python计算黑白图像像素值
- LCD屏幕调试 ~ 字模提取工具和图片转码工具
- java创建文件的路径_JAVA如何指定路径创建文件?
- 此刻,投资自己,才是最好的投资
- 计算机软件ui外观设计专利,GUI外观设计专利申请指南
- 室内设计和平面设计哪个更适合女生学习?
- 四、SLAM学习笔记—— Ubuntu18.04交叉编译OpenCV4.5.5至ARM64位平台firefly-RK3566
- 来自一位搞算法的本科生的学习感想
- Windows系统win10系统日历日程管理软件推荐
- oracle数据库dba_hist等视图中的Delta相关字段介绍
- 数据仓库之【用户行为数仓】12:【dws层:数据汇总层】【appc层:数据应用层】需求5:操作系统活跃用户相关指标
- shadow影子css隔离
- 前端性能优化-CSS性能优化
- 【托业】新托业全真题库---TEST1