使用一元二次方程做實時動畫

2021-09-06 16:27:10 字數 2964 閱讀 6550

使用一元二次方程做實時動畫

效果:

原理(圖中座標略有錯誤,僅供參考-_-!!):

/*---- 計算一元一次方程 ----

y = kx + b

------------------------

*/@property (nonatomic, assign,

readonly

) cgfloat k;

@property (nonatomic, assign,

readonly

) cgfloat b;

-(instancetype)initwithlinearfunctionpointa:(cgpoint)pointa

pointb:(cgpoint)pointb;

/*---- 計算一元二次方程普通式 ----

y = ax^2 + bx + c

----------------------------

*/@property (nonatomic, assign,

readonly

) cgfloat a;

@property (nonatomic, assign,

readonly

) cgfloat b;

@property (nonatomic, assign,

readonly

) cgfloat c;

-(instancetype)initwithquadraticfunctionpointa:(cgpoint)pointa

pointb:(cgpoint)pointb

pointc:(cgpoint)pointc;

/*---- 計算一元二次方程頂點式 ----

y = a(x - h)^2 + k

注意:頂點為(h, k)

----------------------------

*/@property (nonatomic, assign,

readonly

) cgfloat a;

-(instancetype)initwithquadraticfunctionpointapex:(cgpoint)apex

point:(cgpoint)point;

@end

//

////

////

//#import

"yxmath.h

"@implementation

yxmath

-(instancetype)initwithquadraticfunctionpointa:(cgpoint)pointa

pointb:(cgpoint)pointb

pointc:(cgpoint)pointc

return

self;

}-(instancetype)initwithlinearfunctionpointa:(cgpoint)pointa

pointb:(cgpoint)pointb

return

self;

}-(instancetype)initwithquadraticfunctionpointapex:(cgpoint)apex

point:(cgpoint)point

return

self;

}#pragma mark - 計算常數a b ccgfloat calculatea(cgfloat x1, cgfloat y1, cgfloat x2, cgfloat y2, cgfloat x3, cgfloat y3)

cgfloat calculateb(cgfloat x1, cgfloat y1, cgfloat x2, cgfloat y2, cgfloat x3, cgfloat y3)

cgfloat calculatec(cgfloat x1, cgfloat y1, cgfloat x2, cgfloat y2, cgfloat x3, cgfloat y3)

#pragma mark - 計算斜率 kcgfloat calculateslope(cgfloat x1, cgfloat y1, cgfloat x2, cgfloat y2)

#pragma mark - 計算常數 bcgfloat calculateconstant(cgfloat x1, cgfloat y1, cgfloat x2, cgfloat y2)

@end

rootviewcontroller.m

//

//line

////

//#import

"rootviewcontroller.h

"#import

"yxmath.h

"@inte***ce rootviewcontroller ()

@end

@implementation

rootviewcontroller

- (void

)viewdidload

- (void)scrollviewdidscroll:(uiscrollview *)scrollview

@end

注意:動態設定動畫都是需要精確計算的,按照線性關係,或者拋物線關係等等,需要精確計算.

一元二次方程

作 者 a42 覃燕玲 完成日期 2014年 10 月 25 日 版 本 號 v1.0 問題描述 建立乙個程式解平方根 輸入描述 ax 2 bx x 0 a o 程式輸出 平方根 using system using system.collections.generic using system.l...

一元二次方程

一 知識要點 一元二次方程和一元一次方程都是整式方程,它是初中數學的乙個重點內容,也是今後學習數學的基 礎。一元二次方程的一般形式為 ax 2 2為次數,即x的平方 bx c 0,a 0 它是只含乙個未知數,並且未知數的最高次數是2 的整式方程。解一元二次方程的基本思想方法是通過 降次 將它化為兩個...

求解一元二次方程

define crt secure no warnings 1 include include include define epsinon 0.000001 int main else else if disc 0 else system pause return 0 浮點變數與零值的比較 if ...