Page 1 of 1
3d plot
Posted: 16/04-2009 12:21
by gabel
Trenger litt hjelp med ett 3d plot, har punktene A(2,0,0) B(2,5,-2) og C(8,0,-5) samt ett topppunkt T(5,0,4).
Har prøvd den del og lage en figur av dette men uten noe lykke, noen kan komme litt hjelp her ? Har prøvd gnuplot og litt mathlab.
Posted: 16/04-2009 12:46
by Markonan
Skjønner ikke helt hva du mener. Mener du bare å plotte punktene? I så fall kan du prøve (i MATLAB):
Code: Select all
>> plot3(2,0,0,'marker','o')
>> grid on
>> hold on
>> plot3(2,5,-2,'marker','o')
>> plot3(8,0,-5,'marker','o')
>> plot3(5,0,4,'marker','o')
Da fikk jeg:

Posted: 16/04-2009 12:56
by gabel
Det skal bli en pyramide, hvor ABC er grunnflaten og T er topppunktet, Så viss en kunne fått med linjer mellom punktene hadde det vært kjempe.
Posted: 16/04-2009 16:24
by Markonan
Måtte lese meg litt opp på denne.
Slang på egne farger på de forskjellige punktene, og tok med x,y og z på aksene, så det er litt enklere å se hvilke punkter som er hvor. Koden kan du f.eks lagre i en ny m-fil og kalle den pyramide.m.
Tok også og roterte litt på bildet, så det man får opp i matlab ser litt annerledes ut.
Code: Select all
plot3(2,0,0,'or')
grid on
hold on
plot3(2,5,-2,'ob')
plot3(8,0,-5,'ok')
plot3(5,0,4,'og')
line([2 8 2] ,[5 0 0] ,[-2 -5 0])
line([2 5 2] ,[5 0 0] ,[-2 4 0])
line([2 2] ,[5 0] ,[-2 0])
line([5 8] ,[0 0] ,[4 -5])
xlabel('x')
ylabel('y')
zlabel('z')
Posted: 16/04-2009 16:44
by gabel
Tusen takk

Posted: 16/04-2009 17:26
by gabel
Det er ikke muli og sette navn på punkte også ?
Posted: 16/04-2009 17:57
by Markonan
Det er mulig det, men det blir nok finere om du legger det på i paint eller photoshop. Men her er hvordan det gjøres.
Du spesifiserer et punkt i rommet der teksten skal begynne. La på farger og fonter, så kan du teste litt frem og tilbake til du finner noe som passer. Greit å finne vinkelen du vil vise pyramiden fra, og tilpasse teksten ut fra det.
Code: Select all
plot3(2,0,0,'or')
text(2.5, .5, .5, '\fontsize{16}\color{red}A')
grid on
hold on
plot3(2,5,-2,'ob')
text(2.5, 5.5, -2.5, '\fontsize{16}\color{blue}B')
plot3(8,0,-5,'ok')
text(7.5, .5, -5.5, '\fontsize{16}\color{black}C (8,0,-5)')
plot3(5,0,4,'og')
text(5.5, .2, 4.5, '\fontsize{16}\color{black}T')
line([2 8 2] ,[5 0 0] ,[-2 -5 0])
line([2 5 2] ,[5 0 0] ,[-2 4 0])
line([2 2] ,[5 0] ,[-2 0])
line([5 8] ,[0 0] ,[4 -5])
xlabel('x')
ylabel('y')
zlabel('z')
Posted: 16/04-2009 18:15
by Markonan
Er visst i det litt ekstra hjelpsomme humøret i dag.
Lagt på x,y og z-aksen. Har også gjort skalaen på alle aksene like med kommandoen 'axis equal'.
Code: Select all
plot3(2,0,0,'or')
text(2.5, .5, .5, '\fontsize{16}\color{red}A')
grid on
hold on
plot3(2,5,-2,'ob')
text(2.5, 5.5, -2.5, '\fontsize{16}\color{blue}B')
plot3(8,0,-5,'ok')
text(7.5, .5, -5.5, '\fontsize{16}\color{black}C (8,0,-5)')
plot3(5,0,4,'og')
text(5.5, .2, 4.5, '\fontsize{16}\color{black}T')
line([2 8 2] ,[5 0 0] ,[-2 -5 0])
line([2 5 2] ,[5 0 0] ,[-2 4 0])
line([2 2] ,[5 0] ,[-2 0])
line([5 8] ,[0 0] ,[4 -5])
% x-aksen
line([0 10], [0 0], [0 0],'LineWidth',2,'Color',[0 0 0])
% y-aksen
line([0 0], [-2 6], [0 0],'LineWidth',2,'Color',[0 0 0])
% z-aksen
line([0 0], [0 0], [-6 6],'LineWidth',2,'Color',[0 0 0])
xlabel('x')
ylabel('y')
zlabel('z')
axis equal
Posted: 16/04-2009 21:13
by FredrikM
Markonan, nå er du virkelig koselig. Skal huske denne tråden neste gang jeg får lyst til å plotte i MATLAB. Stå på!
Posted: 16/04-2009 21:47
by Markonan
Hehe.
Eller så kan du jo poste det du står fast på når den tid kommer. Kanskje det er noe jeg vet hvordan man løser.
