Surface between 3D lines

2 Ansichten (letzte 30 Tage)
Talal Salem
Talal Salem am 19 Nov. 2019
Kommentiert: darova am 21 Nov. 2019
Hi all,
I am trying to link these 3D lines through a surface that pass through all of them, which basically will show the variation between them and it would be great if that will be colored. I attached a pic that clarify my thoughts, and hopefully I will get help!
I tried to use the griddata command but unfortunately it didn't work.
I also attached my code and excel sheet I am working on.
Thanks,
clc
close all
clear all
dataset =xlsread('test.xlsx','N','G1:L203');
D1=dataset(:,2);
F1=dataset(:,1);
F2=dataset(:,3);
F3=dataset(:,5);
colormap hsv
figure(1)
plot (D1,F1,'MarkerSize',15);
hold on
plot (D1,F2,'-','MarkerSize',15);
plot (D1,F3,'--','MarkerSize',15);
hold off
z1=3*ones(201,1);
z2=6*ones(201,1);
z3=9*ones(201,1);
XX = [D1;D1;D1];
YY = [F1;F2;F3];
ZZ= [z1;z2;z3];
Dlin = linspace(min(D1),max(D1));
Flin = linspace(min(F1),max(F3));
Zlin = linspace(min(z1),max(z3));
[X,Y] = meshgrid(Dlin,Flin);
figure(2)
plot3(D1, z1, F1,'-.')
hold on
plot3(D1, z2, F2)
plot3(D1, z3, F3,'--')
grid on
figure(3)
Z= griddata(XX,YY,ZZ,X,Y);
plot3(X, Y, Z);
grid on
axis tight
view(-50,30)

Akzeptierte Antwort

darova
darova am 20 Nov. 2019
You are concatenating in a wrong way
XX = [D1 D1 D1];
YY = [F1 F2 F3];
ZZ = [z1 z2 z3];
surf(XX,ZZ,YY,'EdgeColor','none')
  2 Kommentare
Talal Salem
Talal Salem am 21 Nov. 2019
Thanks a lot that excatly what i was looking for!
darova
darova am 21 Nov. 2019
Please accept the answer. Bigger reputation = more money

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by