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

Skalierung der Polardarstellung

 

webbolle
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.07.09
Wohnort: Konstanz
Version: ---
     Beitrag Verfasst am: 31.07.2009, 12:27     Titel: Skalierung der Polardarstellung
  Antworten mit Zitat      
Hallo zusammen,
ich hab ein kleines Problem mit der Polardarstellung. Ich möchte Satellitenpositionen in ein Diagramm plotten. Die Polareinstellung eignet sich ja ganz gut dafür. Leider sind die Achsen verdreht. Der Mittelpunkt sollte 90° sein und der äußerste Kreis 0°. Ich hab ein kleines Beispiel in den Anhang gepackt.

Die Satellitenbahnen sollen allerdings nur als Linien eingezeichnet werden.

Hat da jemand ne Idee wie man das realisieren kann. Oder hat sowas schonmal jemand gemacht??

lg webbolle

polardarstellung.JPG
 Beschreibung:

Download
 Dateiname:  polardarstellung.JPG
 Dateigröße:  58.55 KB
 Heruntergeladen:  773 mal
Private Nachricht senden Benutzer-Profile anzeigen


webbolle
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.07.09
Wohnort: Konstanz
Version: ---
     Beitrag Verfasst am: 10.08.2009, 13:12     Titel:
  Antworten mit Zitat      
Ich hab jetzt einfach eine eigenes Diagramm angelegt. damit funktioniert alles einwandfrei.

Code:

%% Diese Funktion dient zur Darstellung der Satellitenpositionen am
%  Himmel. In dem Mittelpunkt des Diagramms ist 90° und am äußersten rand
%  0° aufgetragen.

function [] = sky(direction, elevation, line_style)
clc
hold_state = ishold;

%wenn hold off dann Diagramm neu zeichnen
if ~ishold
    create_diagramm();
end

%%holdstatus wieder herstellen
if hold_state == 1
    hold on;
else
    hold off;
end

%% Werte in Diagramm zeichnen
    elevation_tranformiert = 90 - elevation;
    direction_rad = direction*(pi/180);
   
    x = elevation_tranformiert .* -sin(direction_rad);
    y = elevation_tranformiert .* cos(direction_rad);
   
    hold on;
    plot(x,y,line_style)

end


%% Diagramm zeichnen
    function [] = create_diagramm()
        phi=linspace(0,2*pi); % array mit gleichmäßig verteilten Phi-Werten erstellen
        x=90*cos(phi); y=90*sin(phi); % Kreis berechnen

        fill(x,y,'w') % Weißen kreis zeichnen
        axis equal; % unverzerrte Grafik
        axis off;
        hold on;

        el = 80;
        %Elevationkreise einzeichnen
        while el > 0
            x = el * cos(phi); y = el * sin(phi);
            plot(x,y,'k')

            %Beschriftung hinzufügen
            x = el * cos(1.5); %1.4r = ~80°
            y = el * sin(1.5);
            lable = [num2str(90-el) char('°')];
            text(x, y, lable, 'VerticalAlignment', 'middle', 'Color',[0 0 0], 'BackgroundColor', [1 1 1]);

            el = el-10;
        end

        %Directionlinien einzeichnen
        phi = linspace(0,2*pi,16+1)';
        for i=1:length(phi)-1
        x = 90 * cos(phi(i,1));
        y = 90 * sin(phi(i,1));
        plot([0 x],[0 y],'k')
        end

        %Achsen beschriften
        text(0, 95, 'N', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
        text(95, 0, 'O', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
        text(0, -95, 'S', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
        text(-95, 0, 'W', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
    end
 


lg webbolle
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.