ฟังก์ชั่นผ่อนคลาย


11

ฉันเริ่มมีส่วนร่วมกับฟังก์ชั่นการผ่อนคลาย (Flash AS3) เกิดความพยายามทำความเข้าใจเว็บไซต์ TweenLite และ Robert Penner: http://www.robertpenner.com/easing/

คำถามที่ฉันมีคือพื้นฐานทางคณิตศาสตร์ของฟังก์ชันเหล่านี้คืออะไร ฉันเคยเห็นไซต์อื่น ๆ แก้ไขฟังก์ชั่นเพื่อสร้างฟังก์ชั่นการผ่อนคลายที่กำหนดเอง


1
ฉันคิดว่ามันค่อนข้างดีและอย่างกว้างขวางอธิบายในรูปแบบไฟล์ PDF ที่เชื่อมโยงในเว็บไซต์ของโรเบิร์ต Penners: robertpenner.com/easing/penner_chapter7_tweening.pdf
bummzack

คำตอบ:


6

การทวีคูณที่ดีในกรณีทั่วไปคือการเคลื่อนไหวแบบพารามิเตอร์ (โดยเฉพาะการกำหนดฟังก์ชั่นf (x)โดยที่xสามารถเป็น 0..1 สำหรับตำแหน่ง / การหมุน / สเกล / อะไรก็ตาม) ด้วยตัวปรับค่าพารามิเตอร์ที่คุณส่งผ่าน ยังมีช่วง 0..1

หากคุณพล็อตอัลกอริทึมบนกราฟคุณจะได้รับสิ่งที่เริ่มต้นที่ 0 สิ้นสุดที่ 1 และความชันของเส้นโค้งกำหนดความเร็ว ณ เวลานั้น

หากคุณต้องการคณิตศาสตร์สำหรับฟังก์ชั่นการผ่อนคลายให้ตรวจสอบสิ่งนี้: http://iphonedevelopment.blogspot.com/2010/12/more-animation-curves-than-you-can.html


4

ฉันเขียนไพรเมอร์เกี่ยวกับการแก้ไขซึ่งอาจมีประโยชน์บ้าง - http://iki.fi/sol/interpolation/

แหล่งข้อมูลที่ดีอีกอย่างคือเครื่องมือโต้ตอบ: http://www.gizma.com/easing/


ลิงค์แรกนั้นมีข้อมูลมาก บทความที่ดี
bummzack

@JariKomppa ฉันต้องถาม (3-2 (x)) มาจากไหน? และทำไม x จึงมีวงเล็บ? มันส่งผลให้เป็น 3- (2 * x) เสมอหรือไม่
Sidar

@Sidar จำไม่ได้ว่ามาจากสูตรไหน แต่โดยทั่วไปแล้วมันเป็นกรณีพิเศษ (ซึ่งนำไปสู่สูตรง่าย ๆ ) (x) เกิดจากรูปแบบมาโคร - 'x' อาจเป็นอะไรก็ได้ตัวอย่างเช่น '3 + 7' ซึ่งจะนำไปสู่ ​​(3-2 * (3 + 7)) และไม่ใช่ (3-2 * 3 + 7)
Jari Komppa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.