linearConversion: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "$1$2</code>") |
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
||
Line 25: | Line 25: | ||
|x1= <code>// Say given range is 0 to 1 and wanted range is 0 to 100 (percent calculation). Given value 0.55 then will be 55 | |x1= <code>// 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 | // 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]]]; | ||
Line 36: | Line 36: | ||
fnc_daysFromEpoc = | fnc_daysFromEpoc = | ||
{ | { | ||
private _year = [[param]] [0]; | |||
[[private]] _days = 0; | [[private]] _days = 0; | ||
[[for]] "_i" [[from]] 1970 [[to]] _year - 1 [[do]] | [[for]] "_i" [[from]] 1970 [[to]] _year - 1 [[do]] |
Revision as of 13:00, 12 May 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 (Optional, default false): Boolean - 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:
linearConversion [4, 8, 5, 0, 1, false];
- 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