|
|
Verschiebung von geometrischen Objekten |
|
Klaus Malzbier |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 20.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.12.2017, 14:12
Titel: Verschiebung von geometrischen Objekten
|
|
|
|
|
Guten Tag,
Derzeit muss ich in Matlab eine Function schreiben, welche mit dem plot Befehl die Figur, welche sich im Anhang befindet, zeichnet. Das ist ja erstmal nicht so schwer.
Hier mein bisheriger Stand der Dinge:
function [ ] = neck()
%Verschiebung von geometrischen Objekten
% Detailed explanation goes here
hold on
x=[-8 4, -4 8, -4 4, -8 8];
y=[0 8, 8 0, 8 8, 0 0];
plot (x,y);
hold off
end
Jedoch soll dieses Bild ein Achsenkreuz enthalten und ich soll die Figur verschieben.
Da ich leider noch nicht so versiert in Matlab bin, habe ich folgende Fragen:
1. Frage: Wie füge ich ein Achsenkreuz in meine Figur ein?
2. Frage: Wie verschiebe ich die Figur, wenn der Winkell φ das Übergabeparameter der Function sein soll? Die Figur ist in x-Richtung um x0 und in y-Richtung um y0 zu verschieben. Die Werte X0 und Y0 sollen Übergabeparameter der Function sein.
Wichtig hierbei ist, dass die Größe der Figur egal ist, aber sie trotzdem proportional sein sollte.
Desweiteren soll die verschobene Figur eine andere Farben haben, als die urspprüngliche. Außerdem soll alles in einer Function sein.
Ich würde mich sehr über eine Antwort freuen, da ich momentan keine Ahnung habe, wie ich weiterkomme.
Mit freundlichen Grüßen
Klaus Malzbier
Beschreibung: |
Hier nochmal ein Bild der Figur, welche gezeichnet werden soll. |
|
Download |
Dateiname: |
Matlab Aufgabe.jpg |
Dateigröße: |
16.59 KB |
Heruntergeladen: |
395 mal |
|
|
|
|
|
SigiSorglos |
Forum-Century
|
|
Beiträge: 147
|
|
|
|
Anmeldedatum: 24.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.12.2017, 15:12
Titel:
|
|
Folgende Befehle helfen dir weiter:
Für das Achsenkreuz:
oder auch mit
eine senkrechte und eine waagerechte Linie einzeichnen. Dabei
nicht vergessen.
Die zweite Frage ist mir nicht ganz klar. Ist jetzt der Winkel ein Übergabewert für die Verschiebe-Funktion oder der Offset Xo und Yo?
Zum Verschieben kannst du einfach den Offset auf die gegebenen Koordinaten aufaddieren:
Um Farben zu ändern lies dir mal die Hilfe zu
durch. Ein Klick auf "LineSpec" ganz am Anfang der Hilfe (bei plot(Y,LineSpec)) führt dich direkt zu der Beschreibung, wie man Farben eines Plottes ändert.
|
|
|
Klaus Malzbier |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 20.12.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.12.2017, 16:55
Titel:
|
|
SigiSorglos hat Folgendes geschrieben: |
Die zweite Frage ist mir nicht ganz klar. Ist jetzt der Winkel ein Übergabewert für die Verschiebe-Funktion oder der Offset Xo und Yo?
Zum Verschieben kannst du einfach den Offset auf die gegebenen Koordinaten aufaddieren:
|
Soweit habe ich alles geschafft. Danke für die Hilfe.
Jedoch verschiebt sich meine Figur nicht nur nach unten, sondern auch nach links.
Hier nochmal mein jetziger Stand:
function [ ] = neck()
%Verschiebung von geometrischen Objekten
% N-eck zeichnen und dann verschieben.
hold on
axis ([-10 10 -10 10])
%Achsenkreuz
x1=[-99 99];
y1=[0 0];
p1=plot(x1, y1);
set(p1, 'color', 'k');
x2=[0 0];
y2=[-99 99];
p2=plot(x2, y2);
set(p2, 'color', 'k');
%Figur ohne verschiebung
x=[-8 4, -4 8, -4 4, -8 8];
y=[0 8, 8 0, 8 8, 0 0];
plot (x,y);
%Figur mit verschiebung
x_neu=(x-8 );
y_neu=(y-8 );
plot (x_neu, y_neu);
grid on
hold off
end
Was habe ich falsch gemacht bzw. was fehlt noch?
|
|
|
SigiSorglos |
Forum-Century
|
|
Beiträge: 147
|
|
|
|
Anmeldedatum: 24.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.12.2017, 09:23
Titel:
|
|
Du gibst ja vor, dass die Figur sich auch um -8 nach links verschieben soll mit der Zeile:
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|