Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.
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.
% illustration of a parabolic trajectoryfunctionmain()L=0.8;s=0.1;q=-0.4;N=100;arrow_size=0.1;sharpness=20;arrow_type=1;arrlen=0.3;% arrow lengthtiny=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 colorsred=[0.8670.060.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;holdon;axisequal;axisoff;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');functionball(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]);functionarrow(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 numbersi=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);ifarrow_type==1% filled arrow% plot the stick, but not till the end, looks badt=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 arrowH=fill(real([stop,point1,point2]),imag([stop,point1,point2]),color);set(H,'EdgeColor','none')else% two-segment arrowplot(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.
Diese Datei enthält weitere Informationen, die in der Regel von der Digitalkamera oder dem verwendeten Scanner stammen. Durch nachträgliche Bearbeitung der Originaldatei können einige Details verändert worden sein.
Bildtitel
Matlab Figure Converted by PLOT2SVG written by Juerg Schwizer