BIS fnc smoothStep: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \| *([^=\| ]+) * \|p1=" to " |s1= $1 |p1=")
m (Some wiki formatting)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{RV|type=function
{{RV|type=function


| arma3
|game1= arma3
 
|version1= 1.76
|1.76


|gr1= Interpolation
|gr1= Interpolation


| Interpolates between 0 and 1 with smoothing at the limits. Formula is {{ic|n² × (3 - 2n)}}.
|descr= Interpolates between 0 and 1 with smoothing at the limits. Formula is {{hl|n<sup>2</sup> &times; (3 - 2n)}}.


|s1= number call [[BIS_fnc_smoothStep]]
|s1= number call [[BIS_fnc_smoothStep]]


|p1= number: [[Number]] - a number in range 0..1. A value not in range will be [[floor|floored]] to 0 or [[ceil|ceiled]] to 1
|p1= number: [[Number]] - a number in range 0..1. A value not in range will be [[floor|floored]] to 0 or [[ceil|ceiled]] to 1
Line 15: Line 14:
|r1= [[Number]] - interpolation result
|r1= [[Number]] - interpolation result


|x1= <code>_smoothedStep = 0.75 [[call]] [[BIS_fnc_smoothStep]];</code>
|x1= <sqf>private _smoothedStep = 0.75 call BIS_fnc_smoothStep;</sqf>


|x2= <code>[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] [[apply]] { [[Magic Variables#x|_x]] [[call]] [[BIS_fnc_smoothStep]]; };
|x2= <sqf>
{{codecomment|// returns [0, 0.028, 0.104, 0.216, 0.352, 0.5, 0.648, 0.784, 0.896, 0.972, 1]}}</code>
[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] apply { _x call BIS_fnc_smoothStep; };
// returns [0, 0.028, 0.104, 0.216, 0.352, 0.5, 0.648, 0.784, 0.896, 0.972, 1]
</sqf>
 
|seealso= [[BIS_fnc_lerp]]
}}
}}
[[Category:{{Name|arma3}}: Functions|{{uc:smoothStep}}]]

Latest revision as of 11:50, 27 July 2022

Hover & click on the images for description

Description

Description:
Interpolates between 0 and 1 with smoothing at the limits. Formula is n2 × (3 - 2n).
Execution:
call
Groups:
Interpolation

Syntax

Syntax:
number call BIS_fnc_smoothStep
Parameters:
number: Number - a number in range 0..1. A value not in range will be floored to 0 or ceiled to 1
Return Value:
Number - interpolation result

Examples

Example 1:
private _smoothedStep = 0.75 call BIS_fnc_smoothStep;
Example 2:
[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] apply { _x call BIS_fnc_smoothStep; }; // returns [0, 0.028, 0.104, 0.216, 0.352, 0.5, 0.648, 0.784, 0.896, 0.972, 1]

Additional Information

See also:
BIS_fnc_lerp

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note