### Site Tools

using_the_multiply_filter_to_create_fast-drag_gesture

# Differences

This shows you the differences between two versions of the page.

 using_the_multiply_filter_to_create_fast-drag_gesture [2015/10/09 17:44]paul using_the_multiply_filter_to_create_fast-drag_gesture [2015/10/09 22:15]paul [The Multiply Filter] Both sides previous revision Previous revision 2015/10/09 22:15 paul [The Multiply Filter] 2015/10/09 18:18 paul 2015/10/09 17:44 paul 2015/09/15 15:09 glass 2015/09/15 14:58 glass created Next revision Previous revision 2015/10/09 22:15 paul [The Multiply Filter] 2015/10/09 18:18 paul 2015/10/09 17:44 paul 2015/09/15 15:09 glass 2015/09/15 14:58 glass created Line 118: Line 118: The multiply filter can also multiply the result of a gesture dimension by a non-linear function of the factor. There are four different non linear methods available in the multiply filter: The multiply filter can also multiply the result of a gesture dimension by a non-linear function of the factor. There are four different non linear methods available in the multiply filter: - quadratic + * [[gestures:touch:advanced:gesture_property_mapping:quadratic_mapping|Quadratic Mapping]] - cubic + ​* [[gestures:​touch:​advanced:​gesture_property_mapping:​cubic_mapping|Cubic Mapping]] - exp2 + ​* [[gestures:​touch:​advanced:​gesture_property_mapping:​exponential_mapping| Exponential Mapping]] - exp10 + - + - The "​exp10"​ function will "​multiply"​ the dimension into a exponential function such that the value of the dimension is raised "ten to the power" of the "​factor"​ value. For example this gesture object takes the result of the gesture dimension and multiplies it my ten to the power three (one thousand) so that the value is now a thousand times larger and in the case of the separation delta will cause the touch object to scale 1000 times faster than without the multiply filter: + - + - + - ​ + - <​match>​ + - <​action>​ + - <​initial>​ + - ​ + - ​ + - ​ + - ​ + - <​analysis>​ + - <​algorithm class="​kinemetric"​ type="​continuous">​ + - ​ + - <​returns>​ + - <​property id="​scale_dsx"​ result="​ds"/>​ + - <​property id="​scale_dsy"​ result="​ds"/>​ + - ​ + - ​ + - ​ + - <​processing>​ + - <​multiply_filter>​ + - <​property ref="​scale_dsx"​ active="​true"​ func="​exp10"​ factor="​3"/>​ + - <​property ref="​scale_dsy"​ active="​true"​ func="​exp10"​ factor="​3"/>​ + - ​ + -  ​ + - <​mapping>​ + - ​ + - <​gesture_event ​ type="​scale">​ + - <​property ref="​scale_dsx"​ target="​scaleX"/>​ + - <​property ref="​scale_dsy"​ target="​scaleY"/>​ + - ​ + - ​ + - ​ + - ​ + - ​ + - + - This "​3-point-scale-exponential"​ gesture is great for Zoomable User Interfaces or astronomical interfaces which may require exponentially changing scale values for navigation. +