WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Verschiebung von geometrischen Objekten

 

Klaus Malzbier
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 20.12.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2017, 14:12     Titel: Verschiebung von geometrischen Objekten
  Antworten mit Zitat      
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

Matlab Aufgabe.jpg
 Beschreibung:
Hier nochmal ein Bild der Figur, welche gezeichnet werden soll.

Download
 Dateiname:  Matlab Aufgabe.jpg
 Dateigröße:  16.59 KB
 Heruntergeladen:  334 mal
Private Nachricht senden Benutzer-Profile anzeigen


SigiSorglos
Forum-Century

Forum-Century


Beiträge: 147
Anmeldedatum: 24.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2017, 15:12     Titel:
  Antworten mit Zitat      
Folgende Befehle helfen dir weiter:

Für das Achsenkreuz:
Code:

oder auch mit
Code:

eine senkrechte und eine waagerechte Linie einzeichnen. Dabei
Code:

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:

Code:
x_neu=x+x0
y_neu=y+y0


Um Farben zu ändern lies dir mal die Hilfe zu
Code:
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Klaus Malzbier
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 20.12.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2017, 16:55     Titel:
  Antworten mit Zitat      
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:

Code:
x_neu=x+x0
y_neu=y+y0



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?
Private Nachricht senden Benutzer-Profile anzeigen
 
SigiSorglos
Forum-Century

Forum-Century


Beiträge: 147
Anmeldedatum: 24.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2017, 09:23     Titel:
  Antworten mit Zitat      
Du gibst ja vor, dass die Figur sich auch um -8 nach links verschieben soll mit der Zeile:

Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.