2011-10-27 11 views
6

के बीच एक ट्रैक्टर वक्र की गणना मेरे पास दो (x, y) बिंदु प्रारंभ और अंत हैं। मैं शुरुआत से अंत तक एनिमेट करना चाहता हूं लेकिन एक रैखिक तरीके से जाने के बजाय मैं एक घुमावदार पथ बनाना चाहता हूं।दो xy अंक

मुझे पूरा यकीन है कि मैं आसानी से नहीं ढूंढ रहा हूं क्योंकि मैं एनीमेशन गति को प्रभावित नहीं करना चाहता, मैं बस एक घुमावदार पथ की गणना करना चाहता हूं।

मैं पता लगा इस छवि में दिखाया गया है कि मैं, नियंत्रण बिंदु के कुछ प्रकार की जरूरत:

enter image description here

लेकिन मैं पता नहीं है कि यह कैसे लागू करने के लिए की है। 100% और जहां 0 प्रारंभ स्थिति और 100% अंत स्थिति वापसी होगी - मैं एक समारोह है कि निम्नलिखित मानकों

function calculateXY(start, end, controlpoint, percentage); 

कहाँ प्रतिशत 0 से एक नंबर होगा ले लिया बनाने के लिए प्यार होता।

समाधान उद्देश्य-सी में होने की आवश्यकता नहीं है, यह किसी भी प्रोग्रामिंग भाषा में हो सकता है। मैं सिर्फ गणित के चारों ओर अपना सिर नहीं प्राप्त कर सकता हूं :)

उत्तर

3

this लिंक देखें, और विशेष रूप से समीकरण 2 जो कोड में लागू करना आसान लगता है।

snippet मिला जो आपके लिए करता है।

0

Cocoa's bezier paths: (NSBezierPath) पर देखें।

ऐसा लगता है कि यह वर्गिक बेजियर घटता का समर्थन नहीं कर सकता है, इसलिए आपको convert to cubic की आवश्यकता होगी।