Соединение равных значений с изоповерхностей

Изоповерхности в данных о потоке жидкости

Создайте изоповерхности с isosurface и patch команды.

Этот пример создает изоповерхности в объеме, сгенерированном flow. Сгенерируйте объемные данные командой:

[x,y,z,v] = flow;

Чтобы выбрать изозначение, определите область значений значений в объемных данных.

min(v(:))
ans =
   -11.5417
max(v(:))
ans =
   2.4832

Путем исследования можно выбрать изозначения, которые раскрывают полезную информацию о данных. После выбора используйте изозначение, чтобы создать изоповерхность:

  • Использовать isosurface чтобы сгенерировать данные, которые вы можете передать непосредственно patch.

  • Пересчитайте нормали поверхности из градиента объемных данных, чтобы получить лучшие характеристики освещения (isonormals).

  • Установите закрашенную фигуру- FaceColor к красному и EdgeColor на none для создания гладко освещенной поверхности.

  • Отрегулируйте вид и добавьте подсветку (daspect, view, camlight, lighting).

    hpatch = patch(isosurface(x,y,z,v,0));
    isonormals(x,y,z,v,hpatch)
    hpatch.FaceColor = 'red';
    hpatch.EdgeColor = 'none';
    daspect([1,4,4])
    view([-65,20])
    axis tight
    camlight left; 
    lighting gouraud