3 #define _CRT_SECURE_NO_WARNINGS 26 template<
typename Tx,
typename Ty>
32 T ang = rand_uniform<T>() * 2 * 3.141593;
33 T r = rand_uniform<T>() * R;
35 return vector2(center.
x + r*(T)cos(ang), center.
y + r*(T)sin(ang));
45 template<
typename Tx,
typename Ty,
typename Tz>
64 x+=o.
x; y+=o.
y; z+=o.
z;
return *
this;
67 x-=o.
x; y-=o.
y; z-=o.
z;
return *
this;
82 x*=o.
x; y*=o.
y; z*=o.
z;
97 return sqrtf(x*x+y*y+z*z);
120 #define _CRT_SECURE_NO_WARNINGS 123 #pragma warning(disable: 4244) // conversion from 'int' to 'float', possible loss of data 137 #define SNPRINTF _snprintf_s 138 #define VSNPRINTF _vsnprintf_s 140 #define SNPRINTF _snprintf 141 #define VSNPRINTF _vsnprintf 143 #define STRCASECMP _stricmp 144 #define STRNCASECMP _strnicmp 145 #define ALLOCA(size) _alloca(size) // allocates memory on stack 147 #define STRCASECMP strcasecmp 148 #define STRNCASECMP strncasecmp 149 #define SNPRINTF snprintf 150 #define VSNPRINTF vsnprintf 151 #define ALLOCA(size) alloca(size) 153 #define ALLOCA_ARRAY(T, N) ((T*)ALLOCA(sizeof(T) * (N))) vector3 & operator-=(const vector3 &o)
vector3 operator*(T a) const
vector3 operator-() const
vector3 & operator/=(T a)
static vector2 random(vector2 center, T R)
vector3(Tx X, Ty Y, Tz Z)
vector3 operator-(const vector3 &o) const
vector3(const vector3< Tc > &o)
vector2< float > vector2f
vector3< T > sqrt(const vector3< T > &a)
vector3< double > vector3d
friend vector3 operator/(T a, vector3< T > b)
vector3 operator+(float a) const
vector3 & operator+=(const vector3 &o)
friend vector3 operator*(T a, const vector3 &b)
vector3< float > vector3f
vector3 & operator*=(const vector3 &o)
vector3 operator*(const vector3 &o) const
vector3 operator-(float a) const
vector2< double > vector2d
vector3 operator+(const vector3 &o) const
vector3 & operator*=(T a)