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

Bewegung eines Dreiecks über vorgegebene Trajektorie

 

Heiko14

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2014, 15:08     Titel: Bewegung eines Dreiecks über vorgegebene Trajektorie
  Antworten mit Zitat      
leider noch keine Lösung
Also mir sind die Punkte A und B zu jedem Zeitpunkt bekannt. Also sowohl x(t) oder x(s) und y(t)/y(s). Ebenfalls ist der Abstand A und B konstant und bekannt. Des Weiteren sind alle Winkel des Dreiecks bekannt. Das Dreieck ist vollständig definiert und verändert sich nicht.
Nun ist die Lage x_C(s) und Y_C(s) abhängig von der Position A und B und der jeweiligen Verdrehung zu einander. Nur ich hab kaum Ansätze zur Berechnung von C durch A und B. Kann mir jemand weiter helfen???

Forenbild.png
 Beschreibung:

Download
 Dateiname:  Forenbild.png
 Dateigröße:  4.48 KB
 Heruntergeladen:  448 mal


reichkrystofski
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 26.11.13
Wohnort: Biederitz
Version: 2006b 32bit, 2009b 64bit
     Beitrag Verfasst am: 04.03.2014, 22:11     Titel:
  Antworten mit Zitat      
Was genau hat die Frage mit Matlab zu tun?

Ich versuche trotzdem mal die Sache herzuleiten:

hc ist offenbar unbekannt und das Dreieck gleichschenklig, daher schneidet die Höhe die Strecke AB genau auf der Hälfte:

hc=tan(a)/(AB/2) ( = tan(b)/(AB/2))

Strecke AC ist
AC=(AB/2)/cos(a)

C ist im Bild im Abstand hc über AB und muss entsprechend des Neigungswinkels phi korrigiert werden:

Cx(t)=x(t)+(AB/2)-dx
Cy(t)=y(t)+hc-dy

wobei
sin(phi)=((ys-yt)/2)/(AB/2)
dy = hc - AC*sin(a+phi)
dx = (AB/2) - AC*cos(a+phi)

Ich nehme an, du hast dir die Aufgabe nicht selst ausgedacht ...
Private Nachricht senden Benutzer-Profile anzeigen
 
Heiko14
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 05.03.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.03.2014, 10:39     Titel: Lösung ist mir ein wenig unvorstellbar
  Antworten mit Zitat      
Hallo reichkrystofski,

leider ist mir die Lösung des Ansatzes ein wenig unvorstellbar. Der Code sieht jetzt wie folgt aus.
Code:

beta = (180 - gamma)/2;                         %Winkel der beiden unteren Schenkel

for i=1:length(h)-AB
    hsa(i) =h(i);                               %Höhe Punkt A Dreieck
    hsb(i) = h(i+ABidx);                %Höhe Punkt B Dreieck
    ssa (i) = s(i);                             %Weg Punkt A Dreieck
    ssb(i) = s(i+ABidx);                %Weg Punkt B Dreieck
end

for i = 1:length(hsa)
    phi(i) = asind(((hsb(i)-hsa(i))/2)/(AB/2));        %neu berechnet aus Forum
   
    % Ansatz
    dx(i) = (AB/2)-AC*cosd(beta+phi(i));
    dy(i) = hc-AC*sind(beta+phi(i));
    vecC(i,:) = [ssa(i)+(AB/2)-dx(i), hsa(i)+hc-dy(i)];  %Bewegung C(x,y) durch A und B
end
 


Anhand der Bilder sieht man das Ergebnis und meine Vorstellung.

Verlauf.png
 Beschreibung:
Ergebnis

Download
 Dateiname:  Verlauf.png
 Dateigröße:  27.52 KB
 Heruntergeladen:  381 mal
Forenbild2.png
 Beschreibung:
Vorstellung

Download
 Dateiname:  Forenbild2.png
 Dateigröße:  3.39 KB
 Heruntergeladen:  343 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
reichkrystofski
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 26.11.13
Wohnort: Biederitz
Version: 2006b 32bit, 2009b 64bit
     Beitrag Verfasst am: 05.03.2014, 21:30     Titel:
  Antworten mit Zitat      
Hallo Heiko,

mir ist ebenso unvorstellbar, was du mit dem code eigentlich bezwecken willst. Aus dem Codeschnipsel lässt dich nicht erahnen, was die Variablen zu bedeuten haben.
Ich bin davon ausgegangen, es gäbe Trajektorien für A und B.

Dann wär dies mein Minimalbeispiel mit zwei Zeitschritten:

Code:

% gegeben:
AB = 2; % Länge der Strecke AB
alpha = pi/180*30; % Winkel CAB = 30°
Ax = [ 2 3]; % Zeitreihe Ax
Ay = [ 0 0]; % Zeitreihe Ay
Bx = [ Ax(1)+AB,  Ax(2)+sqrt(AB^2/2)]; % Zeitreihe Bx
By = [ 0 sqrt(AB^2/2)]; % Zeitreihe By

% gesucht: Cx, Cy

hc = tan(alpha)/(AB/2); % konstante Höhe
AC = (AB/2)/cos(alpha); % Strecke AC, konstant

phi = asin(((By-Ay)/2)/(AB/2)); % Zeitreihen von resultierenden Neigungswinkeln
dx = (AB/2) - AC * cos (alpha + phi); % Zeitreihe von Cx-verschiebungen
dy = hc - AC * sin (alpha + phi); ; % Zeitreihe von Cx-verschiebungen

Cx = Ax + (AB/2) -dx;
Cy = Ay + hc - dy;

plot([Ax; Bx; Cx; Ax],[Ay; By; Cy; Ay]);
 
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.