1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
Eigen::Vector3f (float value, float min, float max) { float mid1 = (max + 3 * min) / 4.0; float mid2 = (max + min) / 2.0; float mid3 = (3 * max + min) / 4.0;
Eigen::Vector3f color;
if (value >= min && value < mid1) { float temp = (value - min) / (mid1 - min); color = Eigen::Vector3f(0.0, temp, 1.0); }
else if (value >= mid1 && value < mid2) { float temp = (value - mid1) / (mid2 - mid1); color = Eigen::Vector3f(0.0, 1.0, 1.0 - temp); }
else if (value >= mid2 && value < mid3) { float temp = (value - mid2) / (mid3 - mid2); color = Eigen::Vector3f(temp, 1.0, 0.0); }
else if (value >= mid3 && value <= max) { float temp = (value - mid3) / (max - mid3); color = Eigen::Vector3f(1.0, 1.0 - temp, 0.0); }
else if (value > max) { color = Eigen::Vector3f(1.0, 0.0, 0.0); }
else if (value < min) { color = Eigen::Vector3f(0.0, 0.0, 1.0); }
return color; }
|
近期评论