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

Cylinder-Befehl; n-Umfangspunkt-Ursprung um Winkel versetzen

 

wimleon
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2011, 16:22     Titel: Cylinder-Befehl; n-Umfangspunkt-Ursprung um Winkel versetzen
  Antworten mit Zitat      
Hallo Forum,

hat jemand einen Vorschlag, wie man den Ursprung von "n" bei einem Zylinder; ( n = Anzahl der vordefinierten Punkte auf dem Kreisumfang); mit z. B.: n= 6; -> die Umfangspunkte n = [n1,n2,n3,n4,n5,n6] bspw. um einen Winkel von 30° gegenüber der Vordefinition verdrehen kann.


Code:

[X,Y,Z] = cylinder(r,n)
 
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.04.2011, 15:16     Titel: Re: Cylinder-Befehl; n-Umfangspunkt-Ursprung um Winkel verse
  Antworten mit Zitat      
Hallo wimleon,

Die einfachste Idee wäre natürlich sich den Code von CYLINDER mal anzuschauen ("edit cylinder") und die 30 Grad (im Bogenmaß natürlich) zu den Winkel-Werten zu addieren.

Dann könntest Du die X- und Y- Werte auch noch mit einer Rotations-Matrix mutliplizieren, also etwa "[cos(x), sin(x); -sin(x), cos(x)]".

Schließlich bekommst Du mit n=6 ja die Koordinaten für die Winkel 0, 60, 120, 180, 240, 300 und wieder 360.
Für die Winkel 30, 90, ... kannst Du also einen Zylinder mit 12 Flächen erzeugen und die Spalten 2:2:12 verwenden. Das klappt aber nur bestimmte Winkel - für 17.3 Grad wird das schwierig.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
wimleon
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2011, 18:42     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich versuche mich an der Spaltenmethode. Ich weiß aber nicht was ich für die Z-Kompontente eintragen muss.

x(2:2:12)
y(2:2:12)
z(...)

Ich kann es mir nicht herleiten?
Private Nachricht senden Benutzer-Profile anzeigen
 
wimleon
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2011, 22:19     Titel:
  Antworten mit Zitat      
Hallo Jan,

anbei der Code für evtl. mehr Verständnis

Code:

[v1, v2, v3] = cylinder([1, 1,  0.75, 0.75,.45 ],6); %Aussendurchmesser, Innendurchmesser, Anfang Rand,"Sektorstrahl" bis Aussendrand
v3([2,3], :) = 0; %Zylinder ist auf einen Kreisring reduziert
v3([4,5], :) = 0; %Zylinder ist auf einen Kreisring reduziert

figure(1);
     S1 = surf(v1,v2,v3);  
     set(S1,'FaceColor',[0,1,0],'FaceAlpha',0,'EdgeColor','none')    
mv1 = mean(1.5*v1);
mv2 = mean(1.5*v2);
mv3 = mean(1.5*v3);
% T1bisT6 = {'E1', 'E2', 'E3', 'E4','E5','E6'};

T1 = text(mv1, mv2, mv3, 'E1');
set(T1, 'FontSize', 18, 'HorizontalAlignment', 'center');
 


Mit diesem Code schaffe ich zumindest den Text 'E1' an 6 Positionen zu platzieren und auch beim plotten optimal darzustellen. Erweitert sollte nun aber nicht 6 mal 'E1' dastehen sondern der Reihe nach die Werte E1,E2,E3,...
Leider kann ich aber die Texte von "T1bisT6", weder auf die entsprechenden Umfangspunkte beziehen noch kann ich die Texte mit diesem Code um einen 30° Winkel versetzen, damit der Text besser lesbar wird weil er dann nicht mehr mit den Sektorenstrahlenenden zusammenfällt.
Private Nachricht senden Benutzer-Profile anzeigen
 
wimleon
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 05.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2011, 12:56     Titel:
  Antworten mit Zitat      
Hallo Jan,

mein Fehler war den Zeilenvektor nicht zu berücksichtigen.
Im Anschluss kann ich auch die Texte mit den Umfangspunkte verknüpfen, wenn ich stets die 1.Zeile und die entsprechende Spalte selektiere.

Danke für deine Unterstützung
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 - 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.