问题标签 [clamp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
camera - 将相机夹在地图上(缩放问题)
我正在 LibGDX 中创建游戏,并使用 Tiled 作为我的地图系统。
我试图在我的 TiledMap 范围内包含一个 OrthographicCamera。我使用 MathUtils.clamp 来实现这一点。当相机处于 1.0f 的正常变焦时,它工作得很好。然而,当相机进一步放大时,比如说 0.75f,相机被夹在错误的位置,因为它没有缩放值的信息。
我的问题:如何在我的钳位代码中包含缩放值,以便正确钳位相机?有任何想法吗?
谢谢!- 杰克
algorithm - 钳位到系列中的下一个最小值
我正在尝试将一个数字限制为一系列数字的较低值。例如,如果我有一个系列(抱歉记号不好)
[pq]
其中p
是任何整数并且q
是任何正数。
说如果q is 50
我的系列将是...-150, -100, -50, 0, 50, 100, 150...
现在我想要的是有一个函数可以f(y)
将任何数字夹在系列中的下一个最低数字。
例如,如果我有37
我期待的数字f(37) = 0
和我期待的数字f(-37) = -50
。
我尝试了许多涉及模数和整数除法的算法,但我似乎无法弄清楚。我尝试过的最新的是例如
(37 / q) * q
这适用于正数,但不适用于 -50 和 0 之间的任何数字。
我也尝试过((37 - q) / q) * q
,但这不适用于恰好落在该系列中的负面案例。
编辑
假设我没有整个系列,而只有系列的乘数p
。
css - 如果超过 n 行,则淡出最后一行文本
我们需要在最多 3 行上显示产品标题,并且只有当标题超过 3行时才会淡出第3 行。
到目前为止,我试图解决这个问题的方法是使用一个最大高度为 3 行的包装器、其中的标题和一个覆盖淡出(分别是淡入白)渐变的伪元素。
问题是,无论是否有第 4(+)行,都会发生这种情况。
我创建了一个 JSFiddle:https ://jsfiddle.net/nq4ratr7/5/
小提琴示例的目标是显示最多 3 行的所有标题而没有淡出,并在第 3 行淡出,用于中断到 4 的示例(“4 行 ...”)。
出于性能原因,不应使用 JS。我很清楚使用 JS 很容易。
c# - 相机全局旋转夹紧问题Unity3D
我有一个问题,我正在制作一个平滑的相机移动脚本,但我不知道如何正确夹紧相机旋转。
实际上,相机是玩家对象的子对象。
当按下 WASD 时,播放器会旋转,但由于脚本,相机不会跟随此旋转。
好吧,问题很简单,固定的旋转值是全局的,因为我们设置 Camera.transform.rotation
而不是Camera.transform.localRotation
.
这会发生:链接到视频
该脚本根据玩家轮换来钳制值。
所以如果我们在玩家的 X 轴上有一个旋转 (eulerAngle) 90 度,并且钳制值是从 90 到 -90,那么钳制的旋转将是 0, 180,而不是 -90, 90。
但如果我改变rotation
这种localRotation
情况:链接到视频
我还尝试了以下方法:
设置后localRotation
......但这只会做出奇怪的事情。例如,当在旋转钳位时达到最小钳位值时,将返回最大钳位值。
opengl - glsl 和 opencl 中的钳位功能如何工作?它使用创建分支吗?我应该避免使用它吗?
GLSL 和 OpenCL 都有一个钳制函数,如果值超出界限,它将把一个数字钳制到插入的上限或下限。如果我尝试在 C++ 中实现类似的东西,它看起来像下面的代码:
但是,这有多个分支路径,据我了解,这会大大降低 GPU 的速度,因为它们中的大多数都必须执行所有分支。
那么 GLSL/OpenCL 钳位是如何工作的,如果它使用分支,你会建议尽可能避免使用它吗?
c# - Mathf.Clamp 在 Unity 3D 中将我的 eulerangle 重置为 minValue
Mathf.Clamp 在达到 maxValue 时将我的 eulerangle 重置为 minValue,而不是将其限制在 maxValue。我试过这个:
和这个 :
在这两种情况下,我的 lowLimitY = 0 和 highLimitY = 180;我被困在这个问题上,不知道如何解决它。任何帮助将不胜感激。
math - 仅使用算术限制最小值和最大值之间的值
是否可以仅使用算术将值限制在给定范围内,介于最小值和最大值之间?也就是说,+
-
x
/
和%
?
我无法使用min
,max
或IF
- 语句等功能。
假设我有一个范围[1850, 1880]
,对于任何值< 1850
,它都应该显示1850
。对于 values > 1880
,1880
应显示。如果仅1850
显示在范围之外也是可以接受的。
我试过了:
但对于低于xmin
.
raku - Raku(即Perl6)中是否有范围/ Num等的“钳位”方法/子?
Perl6 中是否有“clamp”或等效方法或子方法?
例如
c++ - 如何在 Eigen 中执行矩阵的逐行裁剪?
我需要在矩阵的每一行中剪辑(即夹住)元素。每列在两行矩阵中指定其最小值和最大值(第一行有最小值,第二行有最大值)。
我目前正在使用这种丑陋的方法来剪辑值。有没有更漂亮、更高效的替代方案?