繁体   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