typedef struct
{
float x, y, z;
} VECTOR;
编写一个函数,该函数采用指向VECTOR结构的指针并规范化x,y和z分量
我意识到你可以通过获取长度并将x,y和z除以长度来标准化Vector。但是如何使用此处提供的代码执行此操作。 以下是我对此的尝试。
Void Norm(*VECTOR)
{
x = x / *VECTOR.Length;
y = y / *VECTOR.Length;
z = z / *VECTOR.Length;
}
答案 0 :(得分:2)
#include <math.h>
typedef struct
{
float x, y, z;
} VECTOR;
void normalize( VECTOR* p )
{
float w = sqrt( p->x * p->x + p->y * p->y + p->z * p->z );
p->x /= w;
p->y /= w;
p->z /= w;
}