inline Vec3 rotate(double Pitch, double Yaw) const
{
double p = glm::radians(Pitch), y = glm::radians(Yaw);
double cp = cos(p), sp = sin(p), cy = cos(y), sy = sin(y);
double y1 = y * cp - z * sp, z1 = y * sp + z * cp;
return Vec3(x * cy + z1 * sy, y1, -x * sy + z1 * cy);
}
inline Vec3 rotate(double Pitch, double Yaw) const
{
double p = glm::radians(Pitch), y = glm::radians(Yaw);
double cp = cos(p), sp = sin(p), cy = cos(y), sy = sin(y);
double y1 = y * cp - z * sp, z1 = y * sp + z * cp;
return Vec3(x * cy + z1 * sy, y1, -x * sy + z1 * cy);
}
inline Vec3 rotate(double Pitch, double Yaw) const
{
double p = glm::radians(Pitch), y = glm::radians(Yaw);
double cp = cos(p), sp = sin(p), cy = cos(y), sy = sin(y);
double y1 = y * cp - z * sp, z1 = y * sp + z * cp;
return Vec3(x * cy + z1 * sy, y1, -x * sy + z1 * cy);
}