c# - 带步长的两个数字之间的线性插值
问题描述
我很难找出如何在两个数字之间进行线性插值,中间步骤的数量是定义的。
假设我想在 4 到 22 之间插入 8 个中间步骤,如下所示:示例
很容易看出这里是 x+2。但是如果起始值为 5,最终值为 532,中间有 12 个步骤呢?(在我的特殊情况下,我需要开始和结束值之间有 16 个步骤)
解决方案
如果您有两个栅栏柱,并且在它们之间放置 k 个栅栏柱,则创建 k + 1 个空间。例如:
| |
post1 post2
adding one posts creates two spaces
| | |
post1 post2
如果您希望这些 k + 1 个空格相等,则可以将总距离除以 k + 1 以获得相邻帖子之间的距离。
d = 22 - 4 = 18
k = 8
e = d / (k + 1) = 18 / 9 = 2
在您的其他案例中,答案是
d = 532 - 5 = 527
k = 12
e = d / (k + 1) = 527 / 13 ~ 40.5
推荐阅读
- reactjs - React Native 项目无法运行
- javascript - Webpack WordPress 图片下划线上传文件夹
- angular - 在页面重新加载之间保存角度应用程序的状态
- instagram - 为什么 Spark AR 中的 FixedTargetTracking 不适用于彩色徽标?
- db2 - 为什么我的查询因 SQLCODE=-204 而失败?
- python - 拆分单元格上的值并使用 Python 使用拆分值逐行更新新列
- javascript - 如何使用 MediaRecorder 作为 MediaSource
- java - 从android中的micro SD卡读取文件
- java - 无法从 src/main/java 调用 src/test/java 中的代码?
- tizen - 如何确定 LAN 电缆未连接到三星电视(型号:QE55Q6FNA)(Tizen 3.6)