linearConversion: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Some wiki formatting) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 18: | Line 18: | ||
|p4= minTo: [[Number]] - start "to" range | |p4= minTo: [[Number]] - start "to" range | ||
|p5= maxTo: [[Number]] | |p5= maxTo: [[Number]] - end "to" range | ||
|p6= clip (Optional, default [[false]]) | |p6= clip: [[Boolean]] - (Optional, default [[false]]) if [[true]], resulting value cannot leave "to" range | ||
|r1= [[Number]] - respectful value from "to" range | |r1= [[Number]] - respectful value from "to" range | ||
Line 26: | Line 26: | ||
|x1= <sqf> | |x1= <sqf> | ||
// Say given range is 0 to 1 and wanted range is 0 to 100 (percent calculation). Given value 0.55 then will be 55 | // Say given range is 0 to 1 and wanted range is 0 to 100 (percent calculation). Given value 0.55 then will be 55 | ||
linearConversion [0,1,0.55,0,100]; | linearConversion [0, 1, 0.55, 0, 100]; | ||
// but if given value is 1.1 it will return 110 | // but if given value is 1.1 it will return 110 | ||
linearConversion [0,1,1.1,0,100,false]; | linearConversion [0, 1, 1.1, 0, 100, false]; | ||
// or if clipping is true it will return 100 | // or if clipping is true it will return 100 | ||
linearConversion [0,1,1.1,0,100,true]; | linearConversion [0, 1, 1.1, 0, 100, true]; | ||
</sqf> | </sqf> | ||
Revision as of 02:17, 1 August 2022
Description
- Description:
- Converts given value from given "from" range to wanted "to" range. If clipping is set to true, the resulting value is guaranteed to be within "to" range no matter what.
- Groups:
- Math
Syntax
- Syntax:
- linearConversion [minFrom, maxFrom, value, minTo, maxTo, clip]
- Parameters:
- minFrom: Number - start "from" range
- maxFrom: Number - end "from" range
- value: Number - given value from "from" range
- minTo: Number - start "to" range
- maxTo: Number - end "to" range
- clip: Boolean - (Optional, default false) if true, resulting value cannot leave "to" range
- Return Value:
- Number - respectful value from "to" range
Examples
- Example 1:
- // Say given range is 0 to 1 and wanted range is 0 to 100 (percent calculation). Given value 0.55 then will be 55 linearConversion [0, 1, 0.55, 0, 100]; // but if given value is 1.1 it will return 110 linearConversion [0, 1, 1.1, 0, 100, false]; // or if clipping is true it will return 100 linearConversion [0, 1, 1.1, 0, 100, true];
- Example 2:
- Example 3:
- // Calculate days from 1/1/1970 fnc_daysFromEpoc = { private _year = param [0]; private _days = 0; for "_i" from 1970 to _year - 1 do { _days = _days + round linearConversion [0, 1, dateToNumber [_i, 12, 31, 23, 59], 0, 365, false]; }; _days + linearConversion [0, 1, dateToNumber _this, 0, 365, false]; }; hint str (date call fnc_daysFromEpoc);
Additional Information
- See also:
- round floor ceil vectorLinearConversion bezierInterpolation
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