作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数,该函数将采用一系列值,需要将其标准化为范围 [-1, 1]。 MathHelper.Clamp()
只获取超出范围的值并将它们设置为超出范围的值。 XNA 或 C# 是否有任何东西可以满足我的需求? (我正在查看文档,但找不到它。)
这是获取鼠标移动。这些值是一个刻度和下一个刻度之间鼠标坐标的差异。我不确定它的最大值是多少。
此函数将一次取一个值 - 因此无需遍历所有值来缩放它们或查看最小值和最大值。
这是我目前拥有的:
// max - min cannot == 0
private float normalizeToRange(float value, float min, float max) {
return (2.0f * (value - min) / (max - min)) -1.0f;
}
最佳答案
将公式 2*(x-min)/(max-min) + -1 应用于每个值应该为您对其进行标准化。
(x-min)/(max-min) 给你一个介于 0 和 1 之间的值
乘以 2 得到 0 到 2 之间的值
减去 1 得到介于 -1 和 1 之间的值
关于C# XNA : Looking for a function like MathHelper. 钳位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2194857/
我是一名优秀的程序员,十分优秀!