• Регистрация
Aleksandrs
Aleksandrs0.00
н/д
  • Написать
  • Подписаться

Построение цилиндра в основе которого произвольная плоская фигура

Доброе время суток! Очень нужна помощь, по данной теме к сожалению не удалось найти вариантов решения вопроса. 

Суть вопроса заключается в том, как построить и вывести указанную на рисунке фигуру используя такие координаты: 

X = [10 7 9 10 12 14 10 15 14 10 11 9 10 6 6 10]
Y = [10 17 18 10 18 17 10 11 7 10 4 4 10 6 10 10]
Z = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]

axis equal;
grid on;

plot(X,Y);
plot3(X,Y,Z, 'b.-');

 

Заранее спасибо за ответ и помощь!!!

Файлы

  • image_2020-09-28_15-48-32.png

Теги

      28.09.2020

      Ответы

      • aBoomest
        aBoomest+371.90
        28.09.2020 16:20

        Вам нужны все узловые точки. + На даном форму много раз были темы построения объемных вещей. Поищите.

        • Aleksandrs
          Aleksandrs0.00
          28.09.2020 20:59

          Подскажите что такое узловые точки, пожалуйста.

        • hex oct bin
          hex oct bin +22.60
          29.09.2020 08:21

          Скажете как эта фигура называется  - помогу.

          • Aleksandrs
            Aleksandrs0.00
            29.09.2020 20:21

            Спасибо большое. Фигура есть на прикрепленном файле. Но по факту не имеет значение какая фигура, то есть нужно сделать "стенки" по высоте и закрасить их у изначально плоского графика в виде фигуры.

            К примеру треугольник (любого размера), каким образом можно сделать его таким, как фигура на скриншоте, который прикреплен???

          • hex oct bin
            hex oct bin +22.60
            29.09.2020 20:36

            Эх, не такого ответа я ждал. Как приду домой построю.

            • hex oct bin
              hex oct bin +22.60
              29.09.2020 20:50

              Вот с телефона и Гугла построил, если прям совсем как на картинке надо - пишите.

              n=8;
              A=ones(n+1);
              z1=2;h=3;
              z=A(:,1)*z1;
              zz=z+h;
              t = 0:2*pi/n:2*pi;
              x=cos(t);
              y=sin(t);

              figure
              surf([x;x].', [y;y].', [z,zz], 'FaceColor','g')
              hold on
              patch([x;x].', [y;y].', [z,zz], 'r')                    % Color Both Ends Red
              hold off
              grid on
              axis equal

              figure
              surf([x;x].', [y;y].', [z,zz], 'FaceColor','g')
              hold on
              patch([x;x].', [y;y].', [zz,zz], 'r')                   % Color One End Red
              patch([x;x].', [y;y].', [z,z], 'b')                     % Color Other End Blue
              hold off
              grid on
              axis equal

               

              P.s. недает с телефона вставить в блок кода.