EvolvingNatFloat: Difference between revisions
From Vintage Story Wiki
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Each sequential value is retrieved according to the first value and the sequence number. | Each sequential value is retrieved according to the first value and the sequence number. | ||
To use EvolvingNatFloat, add the using statement for '''Vintagestory.API.MathTools'''. | To use EvolvingNatFloat, add the using statement for '''Vintagestory.API.MathTools'''.<br><br> | ||
'''''Important note''': The value of sequence should always satisfy '''sequence < 0''''' | |||
== Example in code == | == Example in code == | ||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
Line 88: | Line 89: | ||
For every other function, the '''initialValue = 0'''<br> | For every other function, the '''initialValue = 0'''<br> | ||
[[File: | [[File:Txtpositiveclampedsinus.png|150px]] | ||
[[File: | [[File:Txtcosinus.png|150px]] | ||
[[File: | [[File:Txtidentical.png|150px]] | ||
[[File: | [[File:Txtinverselinear.png|150px]]<br><br> | ||
[[File: | [[File:Txtlinear.png|150px]] | ||
[[File: | [[File:Txtlinearincrease.png|150px]] | ||
[[File: | [[File:TxtlinearnullifyFirstValMinusFive.png|150px]] | ||
[[File: | [[File:Txtlinearreduce.png|150px]]<br><br> | ||
[[File: | [[File:Txtquadratic.png|150px]] | ||
[[File: | [[File:Txtroot.png|150px]] | ||
[[File: | [[File:Txtsinus.png|150px]] | ||
[[File: | [[File:Txtsmoothstep.png|150px]] |
Revision as of 12:35, 13 April 2020
EvolvingNatFloat
A number generator whose return value changes over time according to a transform and factor.
Each sequential value is retrieved according to the first value and the sequence number.
To use EvolvingNatFloat, add the using statement for Vintagestory.API.MathTools.
Important note: The value of sequence should always satisfy sequence < 0
Example in code
using Vintagestory.API.MathTools;
class Example
{
Example()
{
float factor = 1;
EvolvingNatFloat evolve;
evolve = new EvolvingNatFloat(
EnumTransformFunction.CLAMPEDPOSITIVESINUS,
factor
);
float firstValue = 5;
for (float sequence = firstValue; sequence < 100; sequence++)
{
// Retrieve each sequential value
float y = evolve.nextFloat(firstValue, sequence);
}
}
}
Transform variants
Overview | |
---|---|
Name | Explanation |
clampedpositivesinus | Clamped positive sine wave function. |
cosinus | Cosine wave function. |
identical | Identical to first value. |
inverselinear | Linear change in the direction of the first value. |
linearnullify | Linear change towards zero, then clamp at zero. |
linearreduce | Linear change in the opposite direction of the first value. |
quadratic | Quadratic function. |
root | Root function. |
sinus | Sine wave function. |
smoothstep | Smooth step function. |
Visual representation
For every representation, the value of factor = 1
For linearincrease, linearreduce, the initialValue = 1, -1
For every other function, the initialValue = 0