1 package org.djunits.demo.website;
2
3 import org.djunits.unit.AccelerationUnit;
4 import org.djunits.unit.FrequencyUnit;
5 import org.djunits.value.vdouble.scalar.AbstractDoubleScalarRel;
6 import org.djunits.value.vdouble.scalar.Acceleration;
7 import org.djunits.value.vdouble.scalar.Duration;
8 import org.djunits.value.vdouble.scalar.Frequency;
9
10
11
12
13
14
15
16
17
18
19
20
21 public class Jerk extends AbstractDoubleScalarRel<JerkUnit, Jerk>
22 {
23
24 public Jerk(final double value, final JerkUnit unit)
25 {
26 super(value, unit);
27 }
28
29 public Jerk(final Jerk value)
30 {
31 super(value);
32 }
33
34 @Override
35 public final Jerk instantiateRel(final double value, final JerkUnit unit)
36 {
37 return new Jerk(value, unit);
38 }
39
40 public final Acceleration multiplyBy(final Duration v)
41 {
42 return new Acceleration(this.si * v.si, AccelerationUnit.SI);
43 }
44
45 public final Frequency divideBy(final Acceleration v)
46 {
47 return new Frequency(this.si / v.si, FrequencyUnit.SI);
48 }
49
50 public static Jerk interpolate(final Jerk zero, final Jerk one, final double ratio)
51 {
52 return new Jerk(zero.getInUnit() * (1 - ratio) + one.getInUnit(zero.getUnit()) * ratio, zero.getUnit());
53 }
54 }