File:Graphs of speed and displacement during braking with constant deceleration.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(SVG file, nominally 251 × 415 pixels, file size: 26 KB)

Captions

Captions

Graphs of speed and displacement during braking with constant deceleration

Summary[edit]

Description
Deutsch: Funktionsgraphen (im kartesischen Koordinatensystem) der zeitlichen Verläufe von Geschwindigkeit (oberes Diagramm) und dabei zurückgelegter Wegstrecke (unteres Diagramm) zur Veranschaulichung des Bremswegs für die drei folgenden Fälle:
  1. Kurven (I): Bremsen (mit konstanter Bremsverzögerung ) von der Anfangsgeschwindigkeit (zum Zeitpunkt ) bis zum Stillstand führt nach verstrichener Bremszeit zum Bremsweg :
    • mit
    • mit
  2. Kurven (II): Bremsen (mit konstanter Bremsverzögerung ) von der Anfangsgeschwindigkeit (zum Zeitpunkt ) bis zur Endgeschwindigkeit (mit ) führt nach verstrichener Bremszeit zum Bremsweg :
    • mit
    • mit
  3. Kurven (III): Zum Vergleich: Fahren mit konstanter Geschwindigkeit ohne jegliche Verzögerung oder Beschleunigung. Hier kann kein Bremsweg angegeben werden.
    • für
    • für
English: Graphs (in Cartesian coordinate system) of speed (upper diagram) and the distance travelled (lower diagram) as functions of time to illustrate the braking distance for the three following cases:
  1. Plots (I): Braking (with constant braking deceleration ) from initial speed (at time ) to stop leads to the braking distance after elapsed braking time :
    • with
    • with
  2. Plots (II): Braking (with constant braking deceleration ) from initial speed (at time ) to final speed (with ) leads to the braking distance after elapsed braking time :
    • with
    • with
  3. Plots (III): For comparison: Driving at constant speed without any deceleration or acceleration. No braking distance can be specified here.
    • for
    • for
Date
Source Own work
Author SweetWood
SVG development
InfoField
 
The SVG code is valid.
 
This vector image was created with Asymptote (dvisvgm used to convert PDF to SVG)
Source code
InfoField

Asymptote code

// created with Asymptote 2.67: The Vector Graphics Language
// using online-editor: http://asymptote.ualberta.ca/

import graph;

/* given */
real v0 = 10;    // [m/s];   initial velocity
real v1 =  4;    // [m/s];   velocity after deceleration
real a =   2;    // [m/s^2]; deceleration
real t0 =  0;    // [s];     time when deceleration starts

real xext = 0.1;     // factor for extension of x-axis
real yext = 0.15;    // factor for extension of y-axis

/* calculation */
real tB = t0 + v0 / a;                             //  5 s; time when deceleration to 0 ends
real t1 = t0 + (v0 - v1) / a;                      //  3 s; time when deceleration to v1 ends
real sB = v0^2 / (2 * a);                          // 25 m; braking distance for deceleration to 0
real s1 = v0 * (t1 - t0) - a / 2 * (t1 - t0)^2;    // 21 m; braking distance for deceleration to v1

/* Picture 1 */
picture pic1;
unitsize(pic1, 30, 10);

// velocity at time t of constant deceleration with a from v0 to v1 starting at t0
real v(real t, real t0=0, real v0, real v1=0, real a) {
    if (t < t0) {
        return v0;                       // before deceleration
    } else {
        real t1 = t0 + (v0 - v1) / a;    // time of end of deceleration
        if (t <= t1) {
            return v0 - a * (t - t0);    // during deceleration
        } else {
            return v1;                   // after deceleration
        }
    }
}

real v_0B(real t) { return v(t, t0, v0,  0, a); }    // definition of function (I):   velocity for deceleration from v0 to 0
real v_01(real t) { return v(t, t0, v0, v1, a); }    // definition of function (II):  velocity for deceleration from v0 to v1
real v_00(real t) { return v(t, t0, v0, v0, a); }    // definition of function (III): constant speed v0

draw(pic1, graph(v_0B, t0, tB+xext*(tB-t0), 11), heavycyan, "(I)");         // plot graph of function (I)
draw(pic1, graph(v_01, t0, tB+xext*(tB-t0)), blue+longdashed, "(II)");      // plot graph of function (II)
draw(pic1, graph(v_00, t0, tB+xext*(tB-t0)), deepgreen+dashed, "(III)");    // plot graph of function (III)

draw(pic1, (t0,v1)--(t1,v1), red+Dotted);    // horizontal guideline at v1
draw(pic1, (t1,0)--(t1,v1), red+Dotted);     // vertical guideline at t1

xaxis(pic1, "$t$", xmax=tB+xext*(tB-t0), Arrow);    // draw x-axis
yaxis(pic1, "$v$", ymax=(1+yext)*v0, Arrow);        // draw y-axis
//yaxis(pic1, rotate(0)*"$v(t)$", ymax=(1+yext)*v0, Arrow);    // draw y-axis

labelx(pic1, "$0$", t0, SE);                     // label x-axis: 0
labelx(pic1, "$t_1$", t1, blue);                 // label x-axis: t1
labelx(pic1, "$t_\mathrm B$", tB, heavycyan);    // label x-axis: tB

labely(pic1, "$v_0$", v0, W);       // label y-axis: v0
labely(pic1, "$v_1$", v1, blue);    // label y-axis: v1
labely(pic1, "0", 0, NW);           // label y-axis: 0

//add(pic1, scale(0.6)*legend(pic1), point(pic1,N), 10SE, UnFill);    // add legend
label(pic1, "(I)", (tB,v_0B(tB)), 2N, heavycyan);     // label function (I)
label(pic1, "(II)", (tB,v_01(tB)), N, blue);          // label function (II)
label(pic1, "(III)", (tB,v_00(tB)), S, deepgreen);    // label function (III)

/* Picture 2 */
picture pic2;
unitsize(pic2, 30, 3);

// displacement at time t in case of constant deceleration with a from v0 to v1 starting at t0
real s(real t, real t0=0, real v0, real v1=0, real a) {
    if (t < t0) {
        return v0 * (t - t0);                             // before deceleration
    } else {
        real t1 = t0 + (v0 - v1) / a;                     // time of end of deceleration
        if (t <= t1) {
            return v0 * (t - t0) - a / 2 * (t - t0)^2;    // during deceleration
        } else {
            real s1 = v0 * (t1 - t0) - a / 2 * (t1 - t0)^2;
            return s1 + v1 * (t - t1);                    // after deceleration
        }
    }
}

real s_0B(real t) { return s(t, t0, v0,  0, a); }    // definition of function (I):   displacement for deceleration from v0 to 0
real s_01(real t) { return s(t, t0, v0, v1, a); }    // definition of function (II):  displacement for deceleration from v0 to v1
real s_00(real t) { return s(t, t0, v0, v0, a); }    // definition of function (III): displacement for constant speed v0

draw(pic2, graph(s_0B, t0, tB+xext*(tB-t0)), heavycyan, "(I)");             // plot graph of function (I)
draw(pic2, graph(s_01, t0, tB+xext*(tB-t0)), blue+longdashed, "(II)");      // plot graph of function (II)
draw(pic2, graph(s_00, t0, tB+xext*(tB-t0)), deepgreen+dashed, "(III)");    // plot graph of function (III)

draw(pic2, (t0,v0*(tB-t0))--(tB,v0*(tB-t0)), red+Dotted);    // horizontal guideline at v0*tB
draw(pic2, (t0,v0*(t1-t0))--(t1,v0*(t1-t0)), red+Dotted);    // horizontal guideline at v0*t1
draw(pic2, (t0,sB)--(tB,sB) ,red+Dotted);                    // horizontal guideline at sB
draw(pic2, (t0,s1)--(t1,s1), red+Dotted);                    // horizontal guideline at s1
draw(pic2, (tB,0)--(tB,v0*(tB-t0)), red+Dotted);             // vertical guideline at tB
draw(pic2, (t1,0)--(t1,v0*(t1-t0)), red+Dotted);             // vertical guideline at t1

xaxis(pic2, "$t$", xmax=tB+xext*(tB-t0), Arrow);        // draw x-axis
yaxis(pic2, "$s$", ymax=(1+yext)*v0*(tB-t0), Arrow);    // draw y-axis

labelx(pic2, "$0$", t0, SE);                     // label x-axis: 0
labelx(pic2, "$t_1$", t1, blue);                 // label x-axis: t1
labelx(pic2, "$t_\mathrm B$", tB, heavycyan);    // label x-axis: tB

labely(pic2, "$v_0 \cdot t_\mathrm B$", v0*(tB-t0));    // label y-axis: v0*tB
labely(pic2, "$v_0 \cdot t_1$", v0*(t1-t0));            // label y-axis: v0*t1
labely(pic2, "$s_\mathrm B$", sB, heavycyan);           // label y-axis: sB
labely(pic2, "$s_1$", s1, blue);                        // label y-axis: s1
labely(pic2, "0", 0, NW);                               // label y-axis: 0

label(pic2, "(I)", (tB,s_0B(tB)), SW, heavycyan);      // label function (I)
label(pic2, "(II)", (tB,s_01(tB)), NW, blue);          // label function (II)
label(pic2, "(III)", (tB,s_00(tB)), NW, deepgreen);    // label function (III)

/* arranging pictures */
add(pic1.fit(), (0,4), NW);     // fit pic1 to NW
add(pic2.fit(), (0,-4), SW);    // fit pic2 to SW

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current09:33, 26 October 2020Thumbnail for version as of 09:33, 26 October 2020251 × 415 (26 KB)SweetWood (talk | contribs)improved coloring
17:02, 25 October 2020Thumbnail for version as of 17:02, 25 October 2020251 × 415 (26 KB)SweetWood (talk | contribs)slight improvements
12:05, 25 October 2020Thumbnail for version as of 12:05, 25 October 2020251 × 415 (26 KB)SweetWood (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file:

Metadata