Datei:Parabolic trajectory.svg

Datei:Parabolic trajectory.svg

Originaldatei(SVG-Datei, Basisgröße: 512 × 212 Pixel, Dateigröße: 8 KB)

Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.

Beschreibung

Beschreibung
English: Illustration of a parabolic trajectory.
Datum
Quelle Eigenes Werk
Urheber Oleg Alexandrov
SVG‑Erstellung
InfoField
 Der SVG-Code ist valide.
 Dieses Diagramm wurde mit MATLAB erstellt.
 und mit Inkscape.

Lizenz

Public domain Dieses Werk wurde von seinem Urheber Oleg Alexandrov als gemeinfrei veröffentlicht. Dies gilt weltweit.
In manchen Staaten könnte dies rechtlich nicht möglich sein. Sofern dies der Fall ist:
Oleg Alexandrov gewährt jedem das bedingungslose Recht, dieses Werk für jedweden Zweck zu nutzen, es sei denn, Bedingungen sind gesetzlich erforderlich.

Source code (MATLAB)

% illustration of a parabolic trajectory

function main()

   L=0.8;
   s=0.1;
   q=-0.4;
   N=100;

   arrow_size = 0.1;
   sharpness = 20;
   arrow_type = 1; 
   arrlen = 0.3; % arrow length
   tiny = 0.01;
   ball_radius = 0.05;
   
   X=linspace(-L, L, N);
   Y =L^2 - X.^2;
   Xl = linspace(-L-s, L+s, N);
   
   
% KSmrq's colors
   red    = [0.867 0.06 0.14];
   blue   = [0, 129, 205]/256;
   green  = [0, 200,  70]/256;
   yellow = [254, 194,   0]/256;
   white = 0.99*[1, 1, 1];
   black = [0, 0, 0];
   gray = 0.5*white;
   lw = 2.3;
   

   figure(1); clf; hold on; axis equal; axis off;
   plot(X, Y, 'linewidth', lw, 'linestyle', '--', 'color', blue);
   arrow([q-tiny, L^2-q^2], [q+arrlen-tiny, L^2-q^2-2*q*arrlen], lw, arrow_size, sharpness, arrow_type, red);
   ball(q, L^2 - q^2, ball_radius, gray)
   plot(Xl, 0*Xl, 'linewidth', 2*lw, 'color', black);

   
  %saveas(gcf, 'Parabolic_trajectory.eps', 'psc2')
  plot2svg('Parabolic_trajectory.svg');

function ball(x, y, radius, color) % draw a ball of given uniform color 
   Theta=0:0.1:2*pi;
   X=radius*cos(Theta)+x;
   Y=radius*sin(Theta)+y;
   H=fill(X, Y, color);
   set(H, 'EdgeColor', [0, 0, 0]);

function arrow(start, stop, thickness, arrow_size, sharpness, arrow_type, color)
 
% Function arguments:
% start, stop:  start and end coordinates of arrow, vectors of size 2
% thickness:    thickness of arrow stick
% arrow_size:   the size of the two sides of the angle in this picture ->
% sharpness:    angle between the arrow stick and arrow side, in degrees
% arrow_type:   1 for filled arrow, otherwise the arrow will be just two segments
% color:        arrow color, a vector of length three with values in [0, 1]
 
% convert to complex numbers
   i=sqrt(-1);
   start=start(1)+i*start(2); stop=stop(1)+i*stop(2);
   rotate_angle=exp(i*pi*sharpness/180);
 
% points making up the arrow tip (besides the "stop" point)
   point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start);
   point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start);
 
   if arrow_type==1 % filled arrow
 
      % plot the stick, but not till the end, looks bad
      t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop;
      plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', thickness, 'Color', color);
 
      % fill the arrow
      H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color);
      set(H, 'EdgeColor', 'none')
 
   else % two-segment arrow
      plot(real([start, stop]), imag([start, stop]),   'LineWidth', thickness, 'Color', color); 
      plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', thickness, 'Color', color);
      plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', thickness, 'Color', color);
   end

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

image/svg+xml

7.712 Byte

202dfd7b871935cc90eee602e117a0fc525737cd

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell16:55, 2. Okt. 2024Vorschaubild der Version vom 16:55, 2. Okt. 2024512 × 212 (8 KB)wikimediacommons>Glrxfix empty viewBox; delete width and height // Editing SVG source code using c:User:Rillke/SVGedit.js

Die folgende Seite verwendet diese Datei:

Metadaten