Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改Three.js坐标系以匹配DOM转换坐标?

如何更改Three.js坐标系以匹配DOM转换坐标?
EN

Stack Overflow用户
提问于 2017-10-10 12:15:58
回答 1查看 777关注 0票数 0

例如,如何使0,0,0在Three.js中的位置从场景的顶部/左边开始,就像DOM一样?

我想创建一个球体,这样当位置为0,0,0时,它将位于左上角,并且它的大小将在CSS像素尺寸中,并且如果视口的大小发生变化,这个大小不会改变。如果大小为10,我希望这意味着屏幕上跨越10个CSS (当Z=0时)。

编辑:我要把这个问题转移到相对较新的官方Three.js论坛上,这些论坛我没有意识到:https://discourse.threejs.org/t/how-can-we-make-three-js-scenes-use-dom-style-coordinates/962

EN

回答 1

Stack Overflow用户

发布于 2017-10-10 13:05:47

您需要设置正确的正交投影矩阵(而不是透视投影矩阵),以适应画布的像素大小。正射投影矩阵的构造如下:

代码语言:javascript
运行
AI代码解释
复制
 S   0   0   0   |  S = 2 / right - left
 0   T   0   0   |  T = 2 / top - bottom
 0   0   U   0   |  U = -2 / far-near
 Tx  Ty  Tz  1   | 

您可以定义投影矩阵如下,以便将世界空间与以像素为单位的屏幕空间相匹配(假设16个浮点数数组中定义了一个4x4矩阵):

代码语言:javascript
运行
AI代码解释
复制
view[ 0] = 2.0 / (canvasWidth);
view[ 5] = 2.0 / -(canvasHeight);     // Negate to invert Y coordinates
view[10] = -2.0 / farClip - nearClip;
view[12] = -1.0;                      // Translate X so left border start at 0 
view[13] = 1.0;                       // Translate Y so top border start at 0 
view[14] = 0.0; 
view[15] = 1.0;

现在你必须找到一种方法在Three.js上设置这个..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46675225

复制
相关文章
java命令不是内部或外部命令_运行cmd不是内部或外部命令
在生成Java头文件时报错,经查询发现新版的Java不使用javah的命令了,而是使用javac -h 用法:
全栈程序员站长
2022/11/08
1K0
win10配置java环境变量,解决javac不是内部或外部命令等问题
1.安装JDK,安装过程中可以自定义安装目录等信息,例如选择安装目录为D:\java\jdk1.5.0_08;
bear_fish
2018/09/19
4.6K0
win10配置java环境变量,解决javac不是内部或外部命令等问题
pytest重试_pytest不是内部或外部命令
要重新运行所有测试失败的用例,请使用--reruns命令行选项,并指定要运行测试的最大次数:
全栈程序员站长
2022/09/16
5680
nodejs在cmd提示不是内部或外部命令解决方法
今天用cmd安装个库,结果发现node不是内部命令,于是搜索了下解决方法,发现原来我上次重装nodejs换了个安装位置,path环境变量忘改了. 找到变量值中node的安装地址,比如C:develop\nodejs,如果不是这个地址改成现在新的安装的地址,然后保存,重新打开cmd,输入 node -v 查看版本号,就会发现一切正常啦!当然这只针对于安装过node的一些情况.
吴裕超
2022/05/10
1.9K0
nodejs在cmd提示不是内部或外部命令解决方法
win10配置java环境变量,解决javac不是内部或外部命令等问题「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140138.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/24
6980
win10配置java环境变量,解决javac不是内部或外部命令等问题「建议收藏」
java环境配置 | cmd命令 java正常,javac不是内部或外部命令
ava环境配置 | cmd命令 java正常,javac不是内部或外部命令 对Java一窍不通的初学者,正准备准备参照着网上的文档配置Java环境。费了九牛二虎之力是装好了,环境也配好了。cmd窗口验证java -version显示正常,输入javac -version提示"javac不是内部或外部命令,也不是可运行的程序"。全网搜索到的信息基本一致。但是最后都没什么卵用。重装卸载N次,依然不得想要的结果。
卢衍飞
2023/02/13
7640
java环境配置 | cmd命令 java正常,javac不是内部或外部命令
telnet不是内部或外部命令怎么办[通俗易懂]
命令提示符下执行telnet,提示:’telnet’ 不是内部或外部命令,也不是可运行的程序或批处理文件。Win7,Win10系统环境下,Telnet客户端默认是关闭状态。
全栈程序员站长
2022/11/09
10.2K0
telnet不是内部或外部命令怎么办[通俗易懂]
解决 javac不是内部或外部命令等问题
1、JAVA_HOME值为: D:\Program Files\Java\jdk1.7.0_11(JDK的安装目录)
week
2018/08/24
5700
解决 javac不是内部或外部命令等问题
vue人脸识别_vue不是内部或外部命令
vue报错:无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
全栈程序员站长
2022/09/23
5220
vue人脸识别_vue不是内部或外部命令
使用xshell时显示wget不是内部或外部命令
刚才在捣鼓xshell。上面的小图标是红色的,就是我画的小红色圆圈里的,正常的时候是绿色的,如果出现红色,就说明有问题了。
纯情
2023/04/26
1.2K0
使用xshell时显示wget不是内部或外部命令
webpack的性能优化_webpack不是内部或外部命令
webpack版本过高,会出现很多问题,因此可以降低版本高度 1.可以直接覆盖原版本,全局安装可以输入`cnpm i webpack 需要降低的版本 -g,局部去掉-g即可 比如我们要降低到’3.6.0’
全栈程序员站长
2022/09/22
5040
‘java‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件「建议收藏」
配置JAVA环境变量如下: 1.下载安装jdk 2.安装完成后,右击“我的电脑”,点击“属性”; 3.选择“高级”选项卡,windows 7选择左边的“高级系统设置”,点击“环境变量”;
全栈程序员站长
2022/09/13
2.7K0
‘java‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件「建议收藏」
cmd命令ping不是内部或外部命令_ping命令次数
介绍ping命令是一个用来测试能不能与另一台主机交换数据包的命令,通常我们会用ping命令测试域名可达性。
全栈程序员站长
2022/11/08
1.8K0
电脑ping命令显示不是内部命令_cmd一直ping的命令
在cmd中用PING命令时,出现’Ping’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
全栈程序员站长
2022/09/29
2.4K0
[1200]yarn不是内部或外部命令,也不是可运行的程序
第1步:找到你刚才安装的yarn 如:C:\soft\nvm\npm\node_modules\yarn\bin
周小董
2023/10/10
1.9K0
[1200]yarn不是内部或外部命令,也不是可运行的程序
出现 “java”不是内部或外部命令,也不是可运行程序或批处理文件的问题
可能的情况就是: 安装其他程序的时候,path变量被修改了,导致java命令找不到了,这个时候只有重新在path中设置java的bin目录路径就可以了
兮动人
2021/06/11
2.3K0
出现 “java”不是内部或外部命令,也不是可运行程序或批处理文件的问题
'telnet' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  系统中的telnet客户端是关闭状态。即Win10默认没有安装telnet功能。
黑泽君
2019/02/26
2.6K0
'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
1、C:\Users\Aiyufei>mysql -h 127.0.0.1 -u root 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。
别先生
2018/10/25
6.9K0
'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
‘vue’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
获取下载的包路径信息 npm config get prefix 将路径设置到系统环境变量
kirin
2020/06/18
6.6K0
'wepy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
在学习安装wepy创建项目的时候,开启实时编译,出现了这样的一个报错: 'wepy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
王小婷
2019/03/06
3.1K0
'wepy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

相似问题

通过分支google云平台过滤构建步骤

217

GCP云构建可选步骤

11

如何将Google Drive下载输出流保存为文件?

16

Google构建条件步骤

26

找不到工件-云构建器步骤失败(Google cloud Builder)

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档