簡體   English   中英

Objective-C IOS中的功能

[英]Functions in objective-c IOS

我有一個方程:

CGPoint point1 = CGPointMake(20, 100);
CGPoint point2 = CGPointMake(300, 100);
CGPoint controlPoint1 = CGPointMake(50, 250);
CGPoint controlPoint2 = CGPointMake(100, 250);

B(t) = (1-t)^3 * point1 + 3 * (1-t)^2 * t controlPoint1 + 3 * (1-t) * t^2 * controlPoint2 + t^3 * point2;

我正在嘗試使用NStimer運行它以獲取B(t)的不同值。 我將“ t”設置為整數(.h文件中的int t)。 問題是我得到了錯誤:

“函數B的隱式聲明在C99中無效”

如果我做:

int h = (1-t)^3 * point1 + 3 * (1-t)^2 * t controlPoint1 + 3 * (1-t) * t^2 * controlPoint2 + t^3 * point2;

我得到:

“對二進制表達式無效的運算符(int和CGPoint)”。

和指向乘法符號(*)的指針

第一個錯誤是因為B(t)在編譯器中看起來像一個函數,而不是數學意義上的函數。 像完成操作那樣將值存儲在變量中將起作用,或者您可以編寫一個接受t並返回當前值的函數。

第二個錯誤是因為你由struct(CGPoint)乘以一個標量值(INT),則需要通過點的值中的一個(CGPoint由一個x和y值的)被乘,例如改變point1point1.x (免責聲明,我不知道此功能,因此您必須確定應該使用哪個功能)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM