मैं स्पर्श आंदोलन की गति का पता लगाने की कोशिश कर रहा हूँ और मैं हमेशा परिणाम मैं उम्मीद थी नहीं मिल रहा है। (कहा: स्पीड कीलें चारों ओर बहुत ज्यादा) अगर मैं कुछ अजीब या कर रहा हूँ किसी को भी देखा जा सकता है यह ऐसा करने का एक बेहतर तरीका सुझाव है?UITouch आंदोलन को गति का पता लगाने
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
self.previousTimestamp = event.timestamp;
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
CGPoint prevLocation = [touch previousLocationInView:self.view];
CGFloat distanceFromPrevious = distanceBetweenPoints(location,prevLocation);
NSTimeInterval timeSincePrevious = event.timestamp - self.previousTimestamp;
CGFloat speed = distanceFromPrevious/timeSincePrevious;
self.previousTimestamp = event.timestamp;
NSLog(@"dist %f | time %f | speed %f",distanceFromPrevious, timeSincePrevious, speed);
}
अरे ... मैं मुसीबत यह लागू करने आ रही है। लैम्बडा उद्देश्य उद्देश्य सी का हिस्सा है? मुझे इसे लागू करने की क्या ज़रूरत है? tia – dizy
नहीं ... यह एक स्थिर है जिसे आप स्वयं निर्दिष्ट करते हैं। यह करीब 1 है, जितना अधिक वजन आप नवीनतम मूल्य पर रखते हैं। एन मानों के अंकगणितीय औसत की तुलना करें। प्रत्येक नए मूल्य का वजन 1/एन होता है। घातीय के लिए, लैम्ब्डा = 2/(n + 1) जहां n बराबर गणित मूल्य है निर्धारित किया है। इसलिए नए मूल्य भारित 2 (n + 1) के/बजाय 1/एन, और फिर मौजूदा चलती औसत वापस (1-लैम्ब्डा) = (n-1)/(n + 1) द्वारा बढ़ाया जाता है और दो हैं जोड़ा। स्पष्ट? – Jim