AXY:Element Synchronization/Design

From SoftMC-Wiki
Revision as of 12:12, 24 April 2012 by Miborich (talk | contribs) (Added notes)
Jump to: navigation, search

Element Synchronization Design

Common algorithms to both SyncStart and SyncAll:


Pre-Calculation

Is done in MotionManager task, initiated by message sent from SyncStart/All commands:

In case of SyncStart we sperately execute MotCalc on every element from the sync-list: (el1 , el2 , el3 , ... eln ):

FOR element FROM sync-list
   element->MotCalc()
NEXT

In case of SyncAll it is little bit more complicated, every element is pre-calculated in order to estimate it's own max profile values:

FOR element FROM sync-list
element->MotCalc() ==> Li , Vi , Ai , Di , Jai ,  Jdi
NEXT

And then generate a master profile with the following parameters:

Master Profile

The master profile data-structure will be copied to the profile-data-structure of all other elements. Master profile:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle L} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle min(V_i \cdot \frac{L_i} {L})} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle min(A_i \cdot \frac{L_i} {L})} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle min(D_i \cdot \frac{L_i} {L})} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle min(Ja_i \cdot \frac{L_i} {L})} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle min(Jd_i \cdot \frac{L_i} {L})}


where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle L = \sqrt{\sum L_i ^2}}

The master profile data-structure will be copied to the profile-data-structure of all other elements.

The complete system of the sync-list motion profiles will be executed together just be scaling each of them by the factor of: Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{L_i}{\sqrt{\sum L_i ^2}}}

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle TShort = min(TShort _i)}

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle TAccMin = max(TAccMin_i)}

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle TDecMin = max(TDecMin_i)}

NOTE-Info.svgNOTE
The global profile type is defined according to the longest (in time) movement
NOTE-Info.svgNOTE
Stopping profile continues the global profile. So in case of Proceed command this profile will be used.
CAUTION.svgCAUTION
What happens if profiler changes it's type?
CAUTION.svgCAUTION
What happens in case of extremely short motions?