vtk.js

vtk.js


线性插值函数

<pre><code class="language-javascript">/** * 线性插值函数 */ export function linearInterpolation(originalArray, scale) { // 放大到原来的10倍长度 const enlargedLength = originalArray.length * scale; // 计算放大后的长度 const enlargedArray = []; // 新的放大后的数组 // 线性插值函数 const linearInterpolationFn = function (start, end, ratio) { return start * (1 - ratio) + end * ratio; }; // 对数组进行插值和放大 for (let i = 0; i &amp;lt; enlargedLength; i++) { const index = i / 10; // 原始数组索引位置 const lowerIndex = Math.floor(index); const upperIndex = Math.ceil(index); if (lowerIndex === upperIndex || upperIndex &amp;gt;= originalArray.length) { // 如果索引相同或超出原始数组长度,则直接取原始数组最后一个值 enlargedArray.push(originalArray[originalArray.length - 1]); } else { // 否则进行线性插值 const ratio = index - lowerIndex; const interpolatedValue = linearInterpolationFn( originalArray[lowerIndex], originalArray[upperIndex], ratio ); enlargedArray.push(interpolatedValue); } } return enlargedArray; }</code></pre>

页面列表

ITEM_HTML