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

Linie ohne Endpunkte einblenden

 

fightingfalcon23
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 12:17     Titel: Linie ohne Endpunkte einblenden
  Antworten mit Zitat      
Hallo,

wenn ich mit der Funktion imline eine Linie in ein Bild zeichne, stellt mir Matlab immer auch gleichzeitig den Anfangs- und den Endpunkt als Rechtecke dar. Gibt es eine Möglichkeit, das zu unterbinden?

Dank im voraus
fightingfalcon23
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 12:28     Titel:
  Antworten mit Zitat      
Soll die Linie denn im Bild verschiebbar sein? Dafür sind ja die Quadrate da.
Falls nicht, kannst du ja einfach
Code:
hold on;
line([x1 x2],[y1 y2])
nehmen
 
fightingfalcon23
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 13:02     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort! Das war genau was ich benötigt habe!

Noch eine weitere Frage: Weiß jemand wie man in eine Figure (eingeblendetes Foto) Kreise einzeichnen kann? Der Kreis soll an einem bestimmten Mittelpunkt ausgerichtet sein und einen definierbaren Radius haben!

Danke im voraus
fightingfalcon23
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 10.03.2009, 13:29     Titel:
  Antworten mit Zitat      
eine while-schleife unter ausnutzung von

Code:


sollte das ermöglichen. Die Abruchbedingung kannst du dann ja auf einen Klick ausserhalb des Bildes setzen oder auf die rechte Maustaste.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
fightingfalcon23
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 14:18     Titel:
  Antworten mit Zitat      
Vielen Dank Maddy für die Antowort. Ich glaube ich habe mich ein bisschen missverständlich ausgedrückt.

Matlab soll sich einige Parameter (Radius und Mittelpunkte) errechnen und anschließend ohne zusätzliche Benutzereingaben den entsprechenden Kreis in ein Bild einzeichnen. Dieses Bild wird daraufhin automatisch von Matlab in einem Ordner gespeichert und die Figure gleich wieder geschlossen!

Ich bin gespannt auf weitere Antworten

fightingfalcon23
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 14:42     Titel:
  Antworten mit Zitat      
Interessanterweise kann Matlab von Haus aus (nach meinem Wissen) keine Kreise zeichnen. Entweder Du bastelst Dir selbst was aus der Kreisgleichung x^2 + y^2 = r^2 zusammen oder rechnest über Sinus und Cosinus die Punkte aus.

Du kannst auch den Befehl polar zum plotten verwenden, ist allerdings nur wirklich einfach, wenn man um den Ursprung kreist. Aber auch sonst noch erträglich - am besten einfach in eine Funktion verpacken:

Code:

num_points = 100; %Anzahl der Punkte aus denen der Kreis gezeichnet wird
radius = 3; %kreisradius
x_mittelpunkt = 3; %x-koordinate des kreismittelpunkts
y_mittelpunkt = 2; %y-koordinate

%kreis in Polarkoordinaten definieren
theta = linspace(0, 2*pi, num_points);
rho = linspace(radius, radius, num_points);

%nach kartesisch transformieren und verschieben
[x_kreispunkte, y_kreispunkte] = pol2cart(theta, rho);
x_kreispunkte = x_kreispunkte + x_mittelpunkt;
y_kreispunkte = y_kreispunkte + y_mittelpunkt;

%zurück in polarkoordinaten
[theta, rho] = cart2pol(x_kreispunkte, y_kreispunkte);

%plotten
plot(0, 0); %kartesisches Koordinatensystem erzeugen (hier nur zur lauffähigkeit drin
hold on;
polar(theta, rho);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
fightingfalcon23
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.02.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 15:12     Titel:
  Antworten mit Zitat      
Danke Epfi! Genau das habe ich gesucht! Ausprobiert und für perfekt befunden Wink
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.