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

Schnittpunkte mit animiertem Halbkreis

 

ASE7
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 28.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2008, 13:34     Titel: Schnittpunkte mit animiertem Halbkreis
  Antworten mit Zitat      
Hallo ihr Matlabexperten,

ich habe mal wieder folgendes Problem. Ich soll die kompletten Schnittpunkte
der animierten Halbkreisgeraden mit den horizontalen und vertikalen Geraden
wiedergeben. Der Halbkreis muss animiert und in seiner Lage veränderbar bleiben.
Die if else Schleife liefert keine genauen und zu wenig Schnittpunkte mit den Halbkreisgeraden.
Währe super, wenn mir einer einen Tipp geben könnte.

Danke ASE7

Code:
clc
clear all


% Werte Horizontale Geraden
m1 = 0;    % Steigung der 1. Gerade
b1 = 1;      % Abszisse der 1. Geraden
m2 = 0.0;    % Steigung der 2. Gerade
b2 = 2;      % Abszisse der 2. Geraden
m3 = 0.0;    % Steigung der 3. Gerade
b3 = 3;      % Abszisse der 3. Geraden
m4 = 0.0;    % Steigung der 4. Gerade
b4 = 4;      % Abszisse der 4. Geraden
m5 =0.0;      % Steigung der 5. Gerade  
b5 = 5;      % Abszisse der 5. Geraden
m6 = 0.0;        % Steigung der 6. Gerade
b6 = 6;         % Abszisse der 6. Geraden
m7 = 0.0;
b7 = 7.5;
m8 = 0.0;
b8 = 8.0;
m9 = 0.0;
b9 = 1.5;
m10 = 0.0;
b10 = 2.5;
m11=0.0;
b11=3.0;
m12 = 0.0;
b12 = 4.5;
m13 = 0.0;
b13 = 5;
m14 = 0.0;
b14 = 5.5;

% Werte Vertikale Geraden
alpha=(3/4)*pi;

m15=[sin(alpha) cos(alpha)
   -cos(alpha) sin(alpha)];

bg15=[1.4,1.4;0.01,0.01];
bg16=[4.22,4.22;-2.81,-2.81];
bg17=[3.65,3.65;0.65,0.65];


% G(x) = (x,m*x+b) der Geraden
x1 = linspace(1,5,2);   %Länge der horizontalen Geraden
x11=linspace(2.13,4,2);    %Länge der vertikalen Geraden
x2 = linspace(0,0.71,2);
x21=linspace(0,0.7,2);
x3= linspace(5,6,2);
x31= linspace(0,0.707,2);
x4 = linspace (1.5,6,2);
x5 = linspace (2.5,4.5,2);
x6 = linspace (10,13,2);
x7 = linspace (9,11,2);
x8 = linspace (9.5,13,2);


% Horizontale Gereden
G1 = [x1;m1*x1+b1];
G2 = [x1;m1*x1+b2];
G3 = [x11;m3*x11+b3];
G4 = [x11;m3*x11+b4];
G5 = [x4;m5*x4+b5];
G6 = [x4;m5*x4+b6];
G7 = [x5;m7*x4+b7];
G8 = [x5;m8*x4+b8];
G9 = [x6;m9*x5+b9];
G10 = [x6;m10*x5+b10];
G11 = [x7;m11*x6+b11];
G12 = [x7;m12*x6+b12];
G13 = [x8;m13*x8+b13];
G14 = [x8;m14*x8+b14];

% Vertikale Gerade
G15 = m15*[(x2(1,:)+bg15(1,:));(x2(1,:)+bg15(2,:))];
G17 = m15*[(x21(1,:)+bg17(1,:));(x21(1,:)+bg17(2,:))];
G16 = m15*[(x31(1,:)+bg16(1,:));(x31(1,:)+bg16(2,:))]


% Plot horizontale Gerade
plot(G1(1,:),G1(2,:),'b');
hold on
plot(G2(1,:),G2(2,:),'b');
hold on
plot(G3(1,:),G3(2,:),'b');
hold on
plot(G4(1,:),G4(2,:),'b');
hold on
plot(G5(1,:),G5(2,:),'b');
hold on
plot(G6(1,:),G6(2,:),'b');
hold on
plot(G7(1,:),G7(2,:),'b');
hold on
plot(G8(1,:),G8(2,:),'b');
hold on
plot(G9(1,:),G9(2,:),'b');
hold on
plot(G10(1,:),G10(2,:),'b');
hold on
plot(G11(1,:),G11(2,:),'b');
hold on
plot(G12(1,:),G12(2,:),'b');
hold on
plot(G13(1,:),G13(2,:),'b');
hold on
plot(G14(1,:),G14(2,:),'b');
hold on

% Plot vertikale Gerade
plot(G15(1,:),G15(2,:),'r');           %1.Gerade links
hold on
plot(G16(1,:),G16(2,:),'r');          %2.Gerade rechts
hold on
plot(G17(1,:),G17(2,:),'r');          %3.Gerade links
hold on


hold on
axis ([-1 14 -1 10])

% Animierter Halbkreis mit schlechter Schnittpunksmatirx
b=[6,6;1,1];
r=(1/4)*pi;
t = linspace(0.2,1,2);
m1=1;

while (r<=(5/4)*pi)
alpha=(r);

mL=[sin(alpha) cos(alpha)
   -cos(alpha) sin(alpha)];
GL = mL*[(t(1,:));(t(1,:))];
plot(GL(1,:)+b(1,:),GL(2,:)+b(2,:),'r');
hold on
 r=r+(1/50)*pi;
 pause(0.01);
 
GL1= mL*[(t(1,:)+b(1,:));(t(1,:)+b(2,:))];
if GL1==G16
else ([G16(1,:);G16(2,:)]);
    plot (ans(1,:),ans(2,:),'k+');
end

end
% Matrix gesammt
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.