我想从具有线性插值的查找表中获取材质属性。是否存在类似的std实现?
否则我将使用两个向量x和y自己实现。使用lower_bound在x中查找正确的位置,然后使用x进行插值。我可以做得更好吗?
答案 0 :(得分:0)
您可以使用有序的std::map。因此,对于给定的数字n
,获取它下面的地图条目(使用lower_bound)和它上面的地图条目(使用upper_bound,或者简单地通过递增{{1}给出的迭代器然后插入。
你也可以使用一个简单的向量或数组,你可以用它们的键对它们进行排序,然后编写一个二分法访问(二进制搜索)。这可能比lower_bound
更快(例如因为缓存局部性)。