Matlab - Weihnachtsbaum

Neue Frage »

cd Auf diesen Beitrag antworten »
Matlab - Weihnachtsbaum
Hallo!
Ich möchte in Matlab einen Weihnachtsbaum programmieren, oder zumindest etwas was dem nahe kommt.
Mein bisheriger code:

p1 = [5 0];
p2 = [5 5];
hold on;
plot([p1(1),p2(1)],[p1(2),p2(2)],'g','LineWidth',5); %Baumstamm
plot(p2(1),p2(2),'o','MarkerSize',20,'MarkerEdgeColor','k','MarkerFaceColor
','w');
colordef white;
for k = 1:10,
p3 = [(k*0.5) (k*0.5)];
p4 = [(10-(k*0.5)) (k*0.5)];
plot([p3(1),p4(1)],[p3(2),p4(2)],'g','LineWidth',2);
end;
%p5 = [2 2];
%p6 = [8 2];
%plot([p5(1),p6(1)],[p5(2),p6(2)],'LineWidth',2);
hold off;

jetzt hätte ich gerne dass dieses eklige neon grün zu einem dunklen grün wird und ein paar bunte Kugeln im Baum
Außerdem wäre es cool wenn die Achsen verschwinden würden.
Leider habe ich keine Ahnung wie ich das anstellen soll!
Wäre euch für eure Hilfe sehr dankbar!

Viele Grüße

cd
dinzeoo Auf diesen Beitrag antworten »

naja, ob matlab das richtige programm für sowas ist bezweifele ich aber nun gut... ist ja weihnachtszeitAugenzwinkern

hier mal dein erweiterter quellcode, daraus sollte der rest eigentlich machbar sein.

function[]=baum

p1 = [5 0];
p2 = [5 5];
hold on;
plot([p1(1),p2(1)],[p1(2),p2(2)],'g','LineWidth',5); %Baumstamm
plot(p2(1),p2(2),'o','MarkerSize',20,'MarkerEdgeColor','k','MarkerFaceColor
','w');
colordef white;
for k = 1:10,
p3 = [(k*0.5) (k*0.5)];
p4 = [(10-(k*0.5)) (k*0.5)];
plot([p3(1),p4(1)],[p3(2),p4(2)],'Color',[.133 .5451 .133],'LineWidth',2);
X1=[4 2]; %kugeln
Y1=[1 2]; %kugeln
plot(X1,Y1,'.','MarkerSize',50,'Color',[0,0,1]) %plot der kugeln
%plot([p3(1),p4(1)],[p3(2),p4(2)],'g','LineWidth',2);
end;
%p5 = [2 2];
%p6 = [8 2];
hold off;


ps: achsen verschwinden weiss ich auf anhieb auch nicht, musste googeln....
cd Auf diesen Beitrag antworten »

naja, es wird wohl nicht das richtige programm dafür sein... aber was solls ;-)
danke auf jeden Fall für deine Hilfe!
Wie kommst du denn auf die "nummern" für das dunkle grün und das blau der kugeln?!
dinzeoo Auf diesen Beitrag antworten »

kein ding...

diese nummern sind rgb werte durch 255 geteilt. such dir also eine rgb farbtabelle aus dem internet und dividiere die werte durch 255.

vll noch zwei hinweise:
1) matlab kennt nur farben zwischen [0 0 0] und [1 1 1] (alles andere führt zu fehler)
2) .133 bedeutet in matlab übrigens 0.133 sofern du es noch nicht wusstest.
cd Auf diesen Beitrag antworten »

hey cool danke!
Hast mir sehr geholfen!
dinzeoo Auf diesen Beitrag antworten »

kein ding... ist das eigentlich nur für dich bisschen spielerei oder hat das nen "tieferen" sinn?
 
 
cd Auf diesen Beitrag antworten »

Ach, die Bonusaufgabe von unserem Übungszettel lautet: Erstellen Sie mit Hilfe von Matlab ein weihnachtliches Motiv und heften Sie es vorn an Ihren Übungszettel.
Und da ich die Punkte gut brauchen kann, wollte ich dass es auch was halbwegs ansehnliches wird.
Bin nämlich im Matlabprogrammieren noch nicht so wirklich gut!
Beiß mir auch an der "regulären" Aufgabe grade die Zähne aus.
dinzeoo Auf diesen Beitrag antworten »

aso, dann ist es ja doch nicht sinnlosAugenzwinkern

matlab bzw. programmieren ist bisschen gewöhnungsbedürftig, aber wenn man einmal drin ist kann es sogar spass machnen. wobei es leider auch nur spass macht wenn man einmal den durchblick hat... bis dahin wirkt es des öfteren mal als zeitvergeudung.

naja viel glück dann für deine anderen aufgaben...
cd Auf diesen Beitrag antworten »

danke
Naja, es ist nicht so dass ich zum ersten Mal programmiere, hab vor 4 Jahren mal C++ "gelernt" und im Sommer noch mit python programmiert, aber Matlab ist doch etwas gewöhnungsbedürftig.
Ach ja und ich bin eher der Teamprogrammierer... mach häufig so ziemlich sinnlose Fehler die ich selbst dann nicht finde... und jetzt steh ich allein auf weiter Front da mein Übungspartner abgesprungen ist!
flimmbing2 Auf diesen Beitrag antworten »

dazu übrigens: http://www.mathworks.de/matlabcentral/fi...ent/christmas.m

sehr schön gemacht
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »