C++ Vector Classları

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
l33t
Seçkin Üye
Katılım
5 Ara 2015
Mesajlar
464
Tepki puanı
76
Ödüller
9
10 HİZMET YILI
Kendi kodlamamdır.

Vector 2 : 
Kullanımı ; 
Kod:
Vector2 Vec(10, 10);

Kod:
class Vector2
{
public:
   float X, Y;
  Vector2(float x, float y);
  ~Vector2();
};

Vector2::Vector2(float x, float y)
{
  X = x;
  Y = y;
}

Vector2::~Vector2()
{
}

static inline Vector2 operator+(Vector2 x, Vector2 y) { return Vector2(x.X + y.X, x.Y + y.Y); };
static inline Vector2 operator-(Vector2 x, Vector2 y) { return Vector2(x.X - y.X, x.Y - y.Y); };
static inline Vector2 operator*(Vector2 x, Vector2 y) { return Vector2(x.X * y.X, x.Y * y.Y); };
static inline Vector2 operator/(Vector2 x, Vector2 y) { return Vector2(x.X / y.X, x.Y / y.Y); };


Vector3 :
Kod:
Vector3 _vector(10,1,2);
Kod:
class Vector3
{
public:
float X,Y,Z;
Vector3(float x, float y, float z);
~Vector3();
};

Vector3::Vector3(float x, float y, float z)
{
X = x;
Y = y;
Z= z;
}
Vector3::~Vector3()
{
}

static inline Vector3 operator-(Vector3 x, Vector3 y) { return Vector3(x.X - y.X, x.Y - y.Y, x.Z - y.Z  ); };
static inline Vector3 operator+(Vector3 x, Vector3 y) { return Vector3(x.X + y.X, x.Y + y.Y, x.Z + y.Z  ); };
static inline Vector3 operator*(Vector3 x, Vector3 y) { return Vector3(x.X * y.X, x.Y * y.Y, x.Z * y.Z  ); };
static inline Vector3 operator/(Vector3 x, Vector3 y) { return Vector3(x.X / y.X, x.Y / y.Y, x.Z / y.Z  ); };
 
Banlı Üye
Katılım
1 Eki 2016
Mesajlar
1,521
Tepki puanı
334
Yaş
32
9 HİZMET YILI
Kardeşim C++ Otomatik Loader Kodlamayı öğretirmsin ?
 
Onaylı Üye
Katılım
23 Ağu 2015
Mesajlar
100
Tepki puanı
0
10 HİZMET YILI
Murat Ne İşe Yaradığınıda Söyle, Bilmeyenler Var :D
 
l33t
Seçkin Üye
Katılım
5 Ara 2015
Mesajlar
464
Tepki puanı
76
Ödüller
9
10 HİZMET YILI
hackizi' Alıntı:
Murat Ne İşe Yaradığınıda Söyle, Bilmeyenler Var :D

2 li ve 3 lü veri tutma classları

Örnek olarak

Kod:
Vector2 playerAngle(AngleX, AngleY);

Vector 3

Kod:
Vector3 playerPos(playerPosX,playerPosY,playerPosZ);

Veriyi kullanmak için


Kod:
playerPos.X, playerPos.Y, playerPos.Z

-- playerAngle.X, playerAngle.Y

Ayrıca static inline operatorler sayesinde
2 Class'ı toplayabileceksiniz, bölebileceksiniz, çarpabileceksiniz, çıkartabileceksiniz.
Örnek ;
Kod:
Vector2 _vec1(10,20);
Vector2 _vec2(10,30);

Vector2 VecToplam = _vec1 + _vec2;

//VecToplam.X = 20 olacaktır
//VecToplam.Y = 50 olacaktır

+ Olarak normal olarak kullanmak varken değişken tipli yapmak daha yararlı bence

Örnek ;

Kod:
struct sPlayer
{
Vector3 PlayerPos;
Vector2 PlayerAngle;
int WeaponId;
}Player;

gibi yapmak varken

Kod:
struct sPlayer
{
float playerposx, playerposy, playerposz;
float playeranglex, playerangley;
int WeaponId;
}Player;

yapasınız ki?
 
aka panic.rs
Kurucu
Katılım
18 Haz 2015
Mesajlar
3,379
Çözümler
50
Tepki puanı
13,156
Ödüller
22
Sosyal
10 HİZMET YILI
Kod:
	D3DXVECTOR2 v2(1,2);
	D3DXVECTOR3 v3(1,2,3);
	D3DXVECTOR4 v4(1,2,3,4);
	
	v2.x = 1; 
	v2.y = 1;

ne gerek vardıki şmdi buna LEL
 
l33t
Seçkin Üye
Katılım
5 Ara 2015
Mesajlar
464
Tepki puanı
76
Ödüller
9
10 HİZMET YILI
LeftSpace' Alıntı:
Kod:
	D3DXVECTOR2 v2(1,2);
	D3DXVECTOR3 v3(1,2,3);
	D3DXVECTOR4 v4(1,2,3,4);
	
	v2.x = 1; 
	v2.y = 1;

ne gerek vardıki şmdi buna LEL

knk herkes yapıyor bende yapayım dedim :S ayrıca kendim yazınca bi güzel geldi gözüme :D
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst