%[filename, pathname] = uigetfile('*.txt', 'Pfaddatei aufrufen');
%Pfaddatei = fopen([pathname filename],'rt');
Pfaddatei = fopen('helix.txt');

HKoord = textscan(Pfaddatei, '%f %f %f %f', 'HeaderLines',1);   %Einlesen der Koordinaten ab Zeile 2
HSpalten = cell2mat(HKoord);
Pnt = HSpalten(:,1);
xp = HSpalten(:,2)';                               %x
yp = HSpalten(:,3)';                               %y
zp = HSpalten(:,4)';                                %z

%% Plotten des Pfads

turns=46;  % Anzahl Drehungen
skip=41  % Sprünge
P=[xp; yp; zp];                       % Matrix mit xyz-Koordinaten
l=length(xp);                         % Anzahl der Koord.Punkte
anzPunkte=length(xp)*turns                % Anzahl aller Punkte
%for w=1:2;  % Vollständiger Durchlauf
for w=1:turns;     % Textlauf, mit nur 2 Drehungen
    Winkel=skip/turns*2*pi*(w-1);
    % Rx = [1,0,0;0,cos(Winkel),-sin(Winkel);0,sin(Winkel),cos(Winkel)];   % Rotationsmatrix Rx
    % Ry = [cos(Winkel),0,sin(Winkel);0,1,0;-sin(Winkel),0,cos(Winkel)];   % Rotationsmatrix Ry
    Rz = [cos(Winkel),-sin(Winkel),0;sin(Winkel),cos(Winkel),0;0,0,1];    % Rotationsmatrix Rz
    
    for k=1:l;          % Koordinaten der gedrehten Helixabschnitte
        E=Rz*P(:,k);
        xi(k)=E(1);
        yi(k)=E(2);
        zi(k)=E(3);
    end
    % Koordinaten der Helixabschnitte zusammensetzen zu vollständigen Pfad
    Ci=1+anzPunkte/turns*(w-1):anzPunkte/turns*w;
    xx(Ci,1)=xi;
    yy(Ci,1)=yi;
    zz(Ci,1)=zi;
    
end

plot3(zz,xx,yy)                          % Plot
hold on
%plot3(zz(1),xx(1),yy(1),'*')             % Startpunkt
hold on
plot3(zz(end),xx(end),yy(end),'+');      % Endpunkt
axis equal

