Как мне переключиться на другую ветку subversion в Intellij?

Поток предназначен для чтения байтов, Reader предназначен для чтения символов. Один символ может принимать один байт или больше, в зависимости от набора символов.

145
задан PeterP 19 October 2009 в 16:08
поделиться

1 ответ

Вот моя лучшая попытка воспроизвести всю цифру:

enter image description here

Создание контурной сетки сердца:

Я использовал функцию contourc для создания серии контуров в плоскостях xy, xz и yz. Обратите внимание, что на изображении, которое вы хотите воспроизвести, линии сетки на обратной стороне сердца не отображаются. Самый быстрый и простой способ воспроизвести этот аспект графика, который я мог придумать, - это использовать изоповерхность для визуализации белой поверхности прямо под внутренней поверхностью меша, блокируя обзор обратной стороны

. ] Вот код функции heart :

function heart

  % Initialize the volume data, figure, and axes:

  [X,Y,Z] = meshgrid(linspace(-3,3,101));
  F = -X.^2.*Z.^3-(9/80).*Y.^2.*Z.^3+(X.^2+(9/4).*Y.^2+Z.^2-1).^3;
  hFigure = figure('Position',[200 200 400 400],'Color','w');
  hAxes = axes('Parent',hFigure,'Units','pixels',...
               'Position',[1 1 400 400],'NextPlot','add',...
               'DataAspectRatio',[1 1 1],'Visible','off',...
               'CameraViewAngle',10,...
               'XLim',[32 70],'YLim',[39 63],'ZLim',[34 73]);
  view([-39 30]);

  % Create and plot contours in the y-z plane:

  for iX = [35 38 41 45 48 51 54 57 61 64 67]
    plane = reshape(F(:,iX,:),101,101);
    cData = contourc(plane,[0 0]);
    xData = iX.*ones(1,cData(2,1));
    plot3(hAxes,xData,cData(2,2:end),cData(1,2:end),'k');
  end

  % Create and plot contours in the x-z plane:

  for iY = [41 44 47 51 55 58 61]
    plane = reshape(F(iY,:,:),101,101);
    cData = contourc(plane,[0 0]);
    yData = iY.*ones(1,cData(2,1));
    plot3(hAxes,cData(2,2:end),yData,cData(1,2:end),'k');
  end

  % Create and plot contours in the x-y plane:

  for iZ = [36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 69 71]
    plane = F(:,:,iZ);
    cData = contourc(plane,[0 0]);
    startIndex = 1;
    if size(cData,2) > (cData(2,1)+1)
      startIndex = cData(2,1)+2;
      zData = iZ.*ones(1,cData(2,1));
      plot3(hAxes,cData(1,2:(startIndex-1)),...
            cData(2,2:(startIndex-1)),zData,'k');
    end
    zData = iZ.*ones(1,cData(2,startIndex));
    plot3(hAxes,cData(1,(startIndex+1):end),...
          cData(2,(startIndex+1):end),zData,'k');
  end

  % Fill the inside of the mesh with an isosurface to
  % block rendering of the back side of the heart:

  p = patch(isosurface(F,-0.001));
  set(p,'FaceColor','w','EdgeColor','none');

end

Собираем фигуру:

Чтобы воспроизвести всю фигуру, я сначала сгенерировал сетку сердца, используя описанную выше функцию heart , затем добавил другие элементы вокруг него. Я также использовал несколько материалов из The MathWorks File Exchange :

Вот код функции I_Heart_Math (которая генерирует приведенный выше рисунок):

212
ответ дан 23 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: