В этом примере колоризация вокселей выполняется путем умножения вектора, содержащего координаты X, Y, Z каждого вокселя, на матрицу worldToBGRTransform
.
Матрица по умолчанию отображает X на синий, Y на зеленый и глубину на R с некоторыми сдвигами на X и Y (я действительно не понимаю эту часть).
Чтобы сделать вывод серым, необходимо отобразить цвета таким образом, чтобы R G и B были установлены одинаково.
например. Вы можете отредактировать настройку worldToBGRTransform
следующим образом (MainWindows.xaml.cs
строка 2893):
this.worldToBGRTransform = Matrix4.Identity;
this.worldToBGRTransform.M11 = 0.5f * this.voxelsPerMeter / this.voxelsX;
this.worldToBGRTransform.M12 = 0.5f * this.voxelsPerMeter / this.voxelsX;
this.worldToBGRTransform.M13 = 0.5f * this.voxelsPerMeter / this.voxelsX;
this.worldToBGRTransform.M21 = 0.5f * this.voxelsPerMeter / this.voxelsY;
this.worldToBGRTransform.M22 = 0.5f * this.voxelsPerMeter / this.voxelsY;
this.worldToBGRTransform.M23 = 0.5f * this.voxelsPerMeter / this.voxelsY;
this.worldToBGRTransform.M31 = this.voxelsPerMeter / this.voxelsZ;
this.worldToBGRTransform.M32 = this.voxelsPerMeter / this.voxelsZ;
this.worldToBGRTransform.M33 = this.voxelsPerMeter / this.voxelsZ;