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

Verbinden von zwei Kreisbögen

 

Max.B
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 21.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2016, 18:11     Titel: Verbinden von zwei Kreisbögen
  Antworten mit Zitat      
Hallo zusammen,
ich habe zwei unterschiedliche Kreisbögen und möchte diese miteinander verbinden. Das heißt der Endpunkt (x1,y1) von Kreisbogen 1 soll der Startpunkt (x2,y2) von Kreisbogen 2 sein. Gibt es hierzu eine allgemeine Formulierung?

Über eine Rückmeldung würde ich mich sehr freuen Smile

Viele Grüße,
Max

Code:


a=1;
b=1.5;
alpha= 10;
beta=20;

Radius1 = a/(2*sind(alpha/2));      
x1=-a/2:0.0001:0;
XCenter1= 0.0;
YCenter1= -Radius1*cosd(alpha/2);
y1= YCenter1+sqrt(Radius1^2-x1.^2);

Radius2 = b/(2*sind(beta/2));      
x2=0:0.0001:b/2;
XCenter2= 0.0;
YCenter2= -Radius2*cosd(beta/2);
y2= YCenter2+sqrt(Radius2^2-x2.^2);

 plot(x1,y1,x2,y2,'LineWidth',1);
xlabel('z')
ylabel('y')
axis equal;
grid on;

 
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: 21.11.2016, 19:54     Titel: Re: Verbinden von zwei Kreisbögen
  Antworten mit Zitat      
Hallo Max.B,

Möchtest Du einfach eine Linie von (x1,y1) zu (x2,y2) ziehen?
Das macht der plot oder ine Befehl.

Was bedeutet "allgemeine Formulierung"?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Max.B
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 21.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2016, 20:21     Titel:
  Antworten mit Zitat      
Hi Jan,

Schon mal vielen Dank für Deine Antwort! Ich möchte eigentlich, dass die beiden Kreisbögen sich in dem Punkt schneiden, ohne dass ein y-Versatz (y1=y2) besteht. Unter allgemeine Formulierung dachte ich an eine
allgemeingültige Aussage, mit der diese Bedingung auch für unterschiedliche Längen a & b bzw. verschiedene Winkel alpha & beta erfüllt wird.
Ich hoffe, dass es verständlicher ist Smile

Grüße,
Max
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: 22.11.2016, 12:06     Titel:
  Antworten mit Zitat      
Hallo Max.B,

Das ist also ein mathematisches Problem, richtig?
Was sind Deine Inputs? Du benötigst Mittelpunkte, Radien und Winkel der Kreisesegmente.
Was ist variabel dabei? Kannst Du den Mittelpunkt des 2. Segmentes verschieben?

Was bedeuten die Variablen "a" und "b" und wozu dient dieser Code:
Code:
Radius1 = a/(2*sind(alpha/2));      
x1=-a/2:0.0001:0;

?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Max.B
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 21.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2016, 08:59     Titel:
  Antworten mit Zitat      
Hallo Jan,

richtig, es handelt sich im Prinzip um ein mathematisches Problem. Die Möglichkeit den Mittelpunkt zu verschieben habe ich bereits verwendet und funktioniert auch. Allerdings suche ich eher nach einem "allgemeineren" Befehl, der Matlab sagt, dass er den y-Startwert des zweiten Kreisbogens gleich dem y-Endwert des ersten Kreisbogens setzen soll. Damit sollen die beiden Kreisbögen "fließend" ineinander übergehen.

Die Längen a und b sind als Sehnenlängen der beiden Kreisbögen zu sehen, während alpha und beta die Winkel um den Mittelpunkt sind. x1 sind die x-Koordinaten des ersten Kreisbogens mit welchen er entsprechend die y-Koordinaten berechnet.

Grüße,
Max
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: 23.11.2016, 16:44     Titel:
  Antworten mit Zitat      
Hallo Max.B.

Zitat:
Allerdings suche ich eher nach einem "allgemeineren" Befehl, der Matlab sagt, dass er den y-Startwert des zweiten Kreisbogens gleich dem y-Endwert des ersten Kreisbogens setzen soll. Damit sollen die beiden Kreisbögen "fließend" ineinander übergehen.

Ich wüsste nicht, wie es für ein so spezielles Problem einen "allgemeinen" Befehl geben könnte. Was bedeutet "fließend"? Soll die Kurve stetig sein, oder stetig differenzierbar, oder gleich mehrfach stetig differnzierbar wie bei einem Spline?

Bisher ist das Problem noch nicht mathematisch eindeutig.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Max.B
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 21.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2016, 17:10     Titel:
  Antworten mit Zitat      
Hallo Jan,

vielen Dank für Deine Rückmeldungen. Ich denke, ich werde es dabei belassen den Mittelpunkt des jeweiligen Kreisbogens zu verschieben. Damit erhalte ich im Prinzip auch das gewünschte Ergebnis. Trotzdem vielen Dank !

Grüße,
Max
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.