Professional Documents
Culture Documents
Lecture2 Vector
Lecture2 Vector
Вектор Приложение
x y
Логическо описание
Операции
Съединение на елементи от тип РЕАЛНО,
наречени координати на вектор. 1. Създаване на вектор
2. Произведение на вектор със скалар
данни: тип РЕАЛНО
тип ВЕКТОРРЕАЛНО=(координатаx; координатаy; координатаz) 3. Събиране на вектори
4. Скаларно произведение
5. Векторно произведение
6. Смесено произведение на три вектора
7. Двойно векторно произведение
Физическо представяне
─ чрез структура
1. Непрекъснато представяне
– чрез масив тип ВЕКТОР = (координатаx: РЕАЛНО;
координатаy: РЕАЛНО;
координатаz координатаz: РЕАЛНО)
вектор координатаy
координатаx
начало
ax
struct vector // вектор
вектор ay {
double vx, // x координата
az vy, // y координата
vz; // z координата
};
typedef struct vector VECTOR;
Алгоритъм
Алгоритъм
Алгоритъм Алгоритъм
VECTOR add (VECTOR v1, VECTOR v2) double dot (VECTOR v1, VECTOR v2)
{ {
VECTOR v3; double d;
v3.vx = v1.vx + v2.vx; d = v1.vx*v2.vx + v1.vy*v2.vy + v1.vz*v2.vz;
v3.vy = v1.vy + v2.vy; return d;
v3.vz = v1.vz + v2.vz; }
return v3;
}
Алгоритъм Алгоритъм
v1 × v2 = (v1 y v2 z − v1z v2 y )i + (− v1x v2 z + v1z v2 x ) j + (v1x v2 y −v1 y v2 x )k v1 • (v2 × v3 ) = (v2 y v3 z − v2 z v3 y )v1x + (− v2 x v3 z + v2 z v3 x )v1 y + (v2 x v3 y −v 2 y v3 x )v1z
VECTOR cross (VECTOR v1, VECTOR v2) double mixedProduct (VECTOR v1, VECTOR v2, VECTOR v3)
{ {
VECTOR v3; VECTOR vv;
v3.vx = v1.vy*v2.vz - v1.vz*v2.vy; double d;
v3.vy = -v1.vx*v2.vz + v1.vz*v2.vx; vv = cross (v2, v3);
v3.vz = v1.vx*v2.vy - v1.vy*v2.vx; d = dot (v1, vv);
return v3; return d;
} }
r (x ) = p(x ) + q(x )
p( x ) = po + p1 x + ... + p N −1 x N −1
q( x ) = qo + q1 x + ... + q N −1 x N −1
r (x ) = ( p0 + q0 ) + ( p1 + q1 )x + ... + ( p N −1 + q N −1 )x N −1