0

我从互联网上找到了一个代码并尝试理解它。我不知道代码的编程语言是什么,并尝试找到 javascript 等效项或解决方法。

A) 有问题的是哪种语言?


*a_offsetrot = PI / 4.0f;

B)上面的“*”是什么意思,可能的Javascript等价物是什么?

C) 'f' 的含义是什么以及可能的 Javascript 等价物是什么?


if (K<0) K = 0; else K = (float)sqrt (K);

D) '(float)' 的含义是什么,可能的 Javascript 等价物是什么?


*a_offsetrot = 0.5f * (float)atan2(B,ac);

E)“atan2”的含义是什么,可能的 Javascript 等价物是什么?


void Ellipse_Transform (float * a_rh, float * a_rv, float *a_offsetrot, Vector2 * endpoint, matrix * a_mat, int *a_ReverseWinding)

F) 'Vector2 * endpoint' 是什么意思,是否有可能的 Javascript 等价?Vector2 是具有两个 (x,y) 点还是只有一个 (x,y) 点的东西?


m[0] = a_mat->m[0] * +rh * c + a_mat->m[3] * rh * s;

G) 'a_mat->m[0]' 是什么意思,可能的 Javascript 等价物是什么?

编辑:更新标题更有意义。

EDIT2:感谢@rid的建设性回答,我将 C 语言代码翻译成 Javascript,它在此处,完整的工作功能示例在此处

4

1 回答 1

4

A) 语言是 C。

B)*是解引用运算符。JavaScript 中没有等价物,因为 JavaScript 不使用指针。

C) fin4.0f表示该值是一个float值。JavaScript 中没有等价物,因为在 JavaScript 中所有数值都表示为数字。

D)(float)是类型转换。JavaScript 中类似的东西parseFloat()会解析参数并返回一个浮点数,但这与类型转换不同,并且在 JavaScript 中没有与类型转换等效的东西。

E)atan2()是用于计算反正切的数学函数。您可以在标准 JavaScriptMath包中找到它。

F) AVector2很可能是一个具有两个属性的结构,一个x属性和一个y属性。

G)a_mat->m[0]表示数组m中的第一个元素是 的属性a_mat。如果a_mat是 JavaScript 中的对象,则等价于a_mat.m[0].

于 2012-10-30T09:49:01.820 回答