И другие программы этой серии
Вышедшие из детского возраста физики тоже используют подобный подход – только вместо корабликов они запускают в струи воздуха маленькие конусы – их движение позволяет исследовать движение воздушных (газовых, жидкостных) струй. Приведенный ниже фрагмент программы дает представление о применении этой техники визуализации (рис. 7.34):
% Программа визуализации струи с помощью конусов load wind; wind_speed = sqrt(u.^2 + v.^2 + w.^2); hiso = patch(isosurface(x,y,z,wind_speed,40)); isonormals(x,y,z,wind_speed,hiso);
382
Программные средства специальной графики
Рис. 7.34. Визуализация потоков и струй с помощью конусов
set(hiso,\'FaceColor\',\'red\',\'EdgeColor\',\'none\'); hcap = patch(isocaps(x,y,z,wind_speed,40),...
\'FaceColor\',\'interp\', \'EdgeColor\',\'none\'); colormap hsv; daspect([1,1,1]); [f verts] = ...
reducepatch(isosurface(x,y,z,wind_speed,30),0.07); h1 =...
coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),3); set(h1,\'FaceColor\',\'blue\',\'EdgeColor\',\'none\'); xrange = linspace(min(x(:)),max(x(:)),10);
yrange = linspace(min(y(:)),max(y(:)),10); zrange = 3:4:15; [cx,cy,cz] = meshgrid(xrange,yrange,zrange); h2 = coneplot(x,y,z,u,v,w,cx,cy,cz,2); set(h2,\'FaceColor\',\'green\',\'EdgeColor\',\'none\'); axis tight; box on; camproj perspective; camzoom(1.25); view(65,45);
camlight(-45,45); set(gcf,\'Renderer\',\'zbuffer\'); lighting phong; set(hcap,\'AmbientStrength\',.6)
Возможно, некоторым читателям представленные выше программы могут показаться довольно сложными. Однако с позиций программирования это простейшие линейные программы, не содержащие никаких управляющих структур и входных параметров. Они реализуются в виде Script-файлов (m-файлов процедур) и могут быть исполнены как программы, так и по частям в командной строке.
Программные средства численных методов
8.1. Решение систем линейных уравнений (СЛУ) ....................... 384
8.2. Решение СЛУ с разреженными матрицами ....
Начало в части 1