Three.js计算充满屏幕所需的物体距离

2024-01-09

我见过很多关于如何缩放相机以使物体充满屏幕的问题,但我正在尝试移动物体以充满屏幕。

我一直在尝试使用原始照片像素大小进行类似的操作,并且这些对象已缩放:

    var dist = object.originalSize.height > $(window).height() 
            || object.originalSize.width  >  $(window).width()
            ? ( $(window).height() / object.originalSize.height ) * 100 
            : 10;

    var pLocal = new THREE.Vector3( 0, 0, -dist);
    var target = pLocal.applyMatrix4( camera.matrixWorld );
    var tweenMove = new TWEEN.Tween(object.position).to(target, 1500).easing(TWEEN.Easing.Cubic.InOut);

然而,为了想出一个将对象移动到的向量,我无法让对象填满屏幕。我知道计算一个物体需要多远才能填满屏幕所需的数学知识吗?

该对象是一个 Object3D,根据其类型具有不同的子对象。

我知道原始照片的尺寸 (object.originalSize.height),并且我知道已按比例放大以适合 2 的幂的几何形状。

非常感谢您收到有关如何计算相机所需距离以确保物体适合屏幕边界的任何线索。

我还知道该项目的边界框,即从 1024 到 128。


这有效,不知道为什么..

    var vFOV = camera.fov * Math.PI / 180; 
    var ratio = 2 * Math.tan( vFOV / 2 );
    var screen = ratio * (window.innerWidth / window.innerHeight) ; 
    var size = getCompoundBoundingBox( object ).max.y;
    var dist = (size/screen) / 4; 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Three.js计算充满屏幕所需的物体距离 的相关文章

  • Python:球体的交集

    我对编程非常陌生 但我决定承担一个有趣的项目 因为我最近学会了如何以参数形式表示球体 当三个球体相交时 有两个不同的交点 除非它们仅在一个奇点处重叠 球体的参数表示 我的代码是根据答案修改的Python matplotlib 绘制 3d 立
  • Java中如何对整数除法进行四舍五入并得到int结果? [复制]

    这个问题在这里已经有答案了 我刚刚写了一个小方法来计算手机短信的页数 我没有选择使用Math ceil 老实说 它看起来很丑陋 这是我的代码 public class Main param args the command line arg
  • Three.js 椭圆

    如何在 Three js 中创建一个椭圆 我看过这个 在 THREE js 中绘制椭圆 https stackoverflow com questions 11419896 drawing an ellipse in three js 但如
  • 反转二进制网络

    如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3
  • Three.js :face4 生成三角形而不是正方形

    我正在尝试使用 tree js 自定义几何图形生成一个正方形 但是这段代码 var cubeGeo new THREE Geometry cubeGeo vertices push new THREE Vector3 25 25 25 cu
  • 小数除以小数并得到零

    为什么当我这样做时 select CAST 1 AS DECIMAL 38 28 CAST 1625625 AS DECIMAL 38 28 我得到 0 吗 但是当我得到 0 时 select CAST 1 AS DECIMAL 20 10
  • 计算序言中列表的排列

    在 序言艺术 第二版中有一个问题 您应该定义一个谓词 Even permutation Xs Ys 和类似的奇数排列 当您查询时 例如 Even permutation 1 2 3 2 3 1 和 odd permutation 1 2 3
  • 具有非常大的数字的除法

    我只是想知道在处理大数字时有哪些不同的除法策略 我所说的大数字是指 50 位数字 例如 9237639100273856744937827364095876289200667937278 82637448262718273966299344
  • 如何在Python中显示坐标网格线的变换?

    假设我有常规的笛卡尔坐标系 x y 并且我考虑一个矩形网格区域 D 分成小方块 我想看看域 D 如何在 Python 中的坐标变换 T x y gt u x y v x y 下映射 我正在寻找这样的东西 See here https mat
  • 如何安全地将 CGFloat 降低或提高到 int?

    我经常需要在地板或天花板上安装CGFloat to an int 用于计算数组索引 我永远看到的问题floorf theCGFloat or ceilf theCGFloat 是浮点不准确可能会带来麻烦 那如果我的CGFloat is 2
  • 渲染 ThreeJS 应用程序第一帧时的性能问题

    目前 当我渲染以下内容时 我的 ThreeJS 应用程序的性能受到很大影响第一帧 它会导致 Edge 和 IE 11 浏览器冻结 5 秒 并弹出窗口指示 此窗口没有响应 这可能会吓到我的用户 使用 Chrome 的性能分析器 问题似乎来自几
  • 三.js环境光意想不到的效果

    在下面的代码中 我渲染了一些立方体并使用点光源和环境光照亮它们 然而 当设置为 0xffffff 时 AmbientLight 会将侧面的颜色更改为白色 无论其指定的颜色如何 奇怪的是 点光源按预期工作 我怎样才能使环境光表现得像点光 因为
  • 单位安全平方根

    我只是想知道如何以与 F 正确交互的方式编写用户定义的平方根函数 sqrt 单位制 http blogs msdn com andrewkennedy archive 2008 09 04 units of measure in f par
  • 这个按位运算如何检查 2 的幂?

    我正在看一些应该很简单的代码 但我的数学在这里严重失败 下面是一个使用以下条件检查数字是否为 2 的幂的条件 if num 1 num num 1 make num pow of 2 我的问题是 如何在 num 和 num 1 之间使用按位
  • Matlab:3D 堆积条形图

    我正在尝试创建一个 3D 堆积条形图 如这个问题所示 Matlab 中的 3D 堆叠条形图 https stackoverflow com questions 13156133 3d stacked bars in matlab 5D 然而
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 数学/算法使图像适合屏幕保留纵横比

    我需要数学 算法方面的帮助来拍摄已知尺寸的图像并适合两个屏幕尺寸之一 720 x 480 或 1280 x 1024 图像尺寸来自 XML 文件 但这些尺寸是 Web 尺寸 我还从 XML 中选择了一些图像 这些图像的分辨率可能比 Web
  • 将 z 分数转换为百分比的函数

    谷歌不想提供帮助 我能够计算 z 分数 并且我们正在尝试生成一个函数 给定 z 分数 可以得出正态分布中低于该 z 分数的人口百分比 我能找到的只是对百分比表的 z 分数的引用 有什么指点吗 Is it 这个 z 分数 链接 http en
  • 将名称字符串编码为唯一的数字

    我有一大堆名字 数以百万计 他们每个人都有一个名字 一个可选的中间名和一个姓氏 我需要将这些名称编码为唯一代表这些名称的数字 编码应该是一对一的 即一个名称只能与一个数字相关联 一个数字只能与一个名称相关联 对此进行编码的明智方法是什么 我
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题

随机推荐

  • 绘制包含 NaN 的 pandas 数据框

    我有来自三个不同 GPS 接收器的冰速 GPS 数据 数据位于 pandas 数据框中 索引为 Julian Day 从 2009 年初开始增量 这是数据的子集 主数据集有 3487235 行 R2 R7 R8 1235 000000 11
  • 如何在不使用扩展器的情况下将 WPF 工具栏绑定到我的 VM 中的集合

    我有一个 WPF 窗口 其中有ToolBar 我的虚拟机中有一组要绑定的对象 它们显示为按钮 但总是被推到扩展的下拉部分ToolBar 如何使这些按钮出现在标准部分ToolBar 我有以下 XAML
  • C# 从邮件附件中获取文件名

    我有一个简单的 C 应用程序 用于发送 SMTP 电子邮件 使用 System Net Mail 类 发送 通过电子邮件发送 MailMessage 对象后 我想遍历附件列表并删除与这些附件关联的原始文件 但是我很难找到与每个附件关联的完整
  • Flutter Web 应用程序在部署到 Firebase 托管后返回空白页面

    我已成功将我的 flutter Web 应用程序部署到 Firebase 托管 但是 当我访问链接时返回空白页面 这是我的 firebase json database rules database rules json firestore
  • Flutter:如何避免 ListView 动态滚动(或改变其物理特性)

    我有一个ListView https api flutter dev flutter widgets ListView class html小部件 我想允许它基于某些逻辑可滚动或不可滚动 NeverScrollable滚动物理 https
  • 对向量进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当对递增时 如何按降序对向量对进行排序
  • 如何对包装字符串的枚举变体进行模式匹配? [复制]

    这个问题在这里已经有答案了 我有一个枚举 enum T A String 我想匹配此枚举的变量 但此代码不起作用 match t T A a gt println a T A b gt println b gt println someth
  • 角度材质 (8) S2591:找不到名称“require”

    我正在尝试将日期 时间记录到 javascript 控制台中 我收到的错误消息如下 是由下面的代码生成的 ETA 该代码确实有效 日期将发送到控制台 仅保留错误消息 Message src app kdc services customer
  • Dockerfile 生产/构建/调试/测试环境

    假设您有 Web 应用程序和一些工作流程执行器 http server 提供预构建资产文件 生产 构建器 从源代码编译 捆绑 js css html 部署 开发 调试器 构建器 动态地从源构建 添加 js 源映射 开发 selenium 运
  • SWIFT:如何加载本地图像远程 HTML

    目前我正在开发适用于 Android 和 iOS 的应用程序 这是一个简单的 webView 正在调用远程 URL 这工作得很好 但现在我在弄清楚如何拦截图像的加载方面遇到了问题 我正在努力实现以下目标 加载远程URL 拦截加载并检查图像
  • 反应式异常处理

    如何使用一个Mono error
  • 有哪些独立开发人员编程方法? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我可以在 Clojure 记录中创建可变状态吗?

    我正在考虑使用 Clojure 记录来映射到程序中不断变化的实体 它们是可变的吗 或者您是否需要在记录中使用额外的参考 我对此有点困惑 非常值得一看Rich Hickey 关于身份和状态的精彩视频 http www infoq com pr
  • 返回的日期格式为 mm/dd/yyyy hh:mm:ss AM/PM

    我对 sql 是个新手 我的公司只是让我很投入并说去做 因此 非常感谢任何帮助 我试图以 mm dd yyyy hh mm ss AM PM 的格式获取日期 例如 09 26 2014 11 04 54 AM 的日期 我尝试过使用代码 Se
  • 将此 pdf 保存在 ionic 上的缓存/本地存储中

    哈给大家 我按照本教程使用 pdfmake 生成的 pdf 创建模式视图 http gonehybrid com how to create and display a pdf file in your ionic app http gon
  • PHP 搜索多维数组中的值并获取相应的元素值[重复]

    这个问题在这里已经有答案了 我正在使用 PHP 我有一个多维数组 我需要搜索它以查看 键 的值是否存在 如果存在 则获取 字段 的值 这是我的数组 Array 0 gt Array key gt 31 field gt CONSTRUCTN
  • Owlready2动态类生成

    我正在尝试为 owlready2 本体动态创建一个类 文档建议使用以下代码行 NewClass types new class NewClassName SuperClass kwds namespace my ontology 就我而言
  • Laravel 4 - 读取配置文件

    如何从 laravel 读取配置文件 例如数据库连接 app config database php 我想要来自配置的 mysql 数据 对于一个包 你可以这样做 return Config get package group option
  • 如何防止GDB单步执行每一个函数

    我的 GDB 调试器会自动进入大多数函数 特别是我的外部库 标准库 这很烦人 因为我知道这些库比我的代码写得更好 如何才能阻止 GDB 这样做呢 有两种方法可以得到你想要的东西 一是使用next而不是step step将进入函数调用 但是n
  • Three.js计算充满屏幕所需的物体距离

    我见过很多关于如何缩放相机以使物体充满屏幕的问题 但我正在尝试移动物体以充满屏幕 我一直在尝试使用原始照片像素大小进行类似的操作 并且这些对象已缩放 var dist object originalSize height gt window