%Programm Wankelmotor
%==========================================================================
clc,clear,close all;     
    r=10;	%kleiner Radius
    R=15;	%großer Radius
    a=2*R;	%Abstand des Punktes vom Mittelpunkt des großen Kreises
    t=0:2*360; 
    s=2*R*sqrt(3);%Seitenlänge Dreieck
    %n=3*R;  %Länge von der von der Ecke bis 
    %h=2*r-R; 
   
  x= a*cosd(((r-R)/r).*t)-((R-r)*cosd((R/r).*t)); %x Polarkoordinaten Trochoide
  y= -a*sind(((r-R)/r).*t)-((R-r)*sind((R/r).*t));%y Polarkoordinaten Trochoide

figure('Renderer','zbuffer','position',[20 100 700 500]); hold on; box on; axis equal;grid on;
xlim([min(x)-10 , max(x)+10])
ylim([min(y)-10 , max(y)+10])

%Kreis R                   
[kreis.x, kreis.y]=fkt_KreisMalen(R);
%Versatz großer Kreis
    x1=(R-r)*cosd((R/r)*t);
    y1=(R-r)*sind((R/r)*t);
%Kreis r                   
[kreisR.x, kreisR.y]=fkt_KreisMalen(r);
[kreisR.a, kreisR.b]=fkt_KreisMalen(s);


x=[x x]; % einfache Variante um mehr Werte zum Zeichnen des Dreiecks zu haben. (werte trochoide)
y=[y y]; %
%Movie
%h=ones(1,720)*h;
%==========================================================================
  set(gca,'NextPlot','replaceChildren');
for j = 1:720 % vektor 720 werte lang
    dreieck.x = [ x(j) ,x(j+240),x(j+480),x(j)];
    dreieck.y = [ y(j) ,y(j+240),y(j+480),y(j)];
    plot(x,y,kreisR.a+x(j),kreisR.b+y(j),kreis.x-x1(j),kreis.y-y1(j),kreisR.x,kreisR.y,dreieck.x,dreieck.y) 
    %Umdrehugen sind von der Vektorlänge j abhängig. Die mit der Länge von
    %t übereinstimmen muss.
    
      
F(j) = getframe;
end
