来源: https://www.ilikebigbits.com/2015_02_05_remap.html
inline float remap(float x, float in_min, float in_max, float out_min, float out_max) { float t = (x - in_min) / (in_max - in_min); return lerp(out_min, out_max, t); } inline float remap_clamp(float x, float in_min, float in_max, float out_min, float out_max) { float t = (x - in_min) / (in_max - in_min); t = clamp(t, 0, 1); return lerp(out_min, out_max, t); } //示例: normal_encoded = remap(normal, -1, +1, 0, 255); alpha = remap_clamp(time, fade_start, fade_stop, 1, 0);
//vtk 也有类似的方法 ,将距离标量 转为颜色的图表的。 vtkNew<vtkDistancePolyDataFilter> distanceFilter; distanceFilter->SetInputConnection(0, clean1->GetOutputPort()); distanceFilter->SetInputConnection(1, clean2->GetOutputPort()); distanceFilter->Update(); vtkNew<vtkPolyDataMapper> mapper; mapper->SetInputConnection(distanceFilter->GetOutputPort()); mapper->SetScalarRange( distanceFilter->GetOutput()->GetPointData()->GetScalars()->GetRange()[0], distanceFilter->GetOutput()->GetPointData()->GetScalars()->GetRange()[1]); vtkNew<vtkScalarBarActor> scalarBar; scalarBar->SetLookupTable(mapper->GetLookupTable()); scalarBar->SetTitle("Distance"); scalarBar->SetNumberOfLabels(4); scalarBar->UnconstrainedFontSizeOn();
标签:remap,映射,min,max,vtk,float,distanceFilter,255,out From: https://www.cnblogs.com/lmao/p/18366770