Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.27;
Скачать: CL | DM;

Вниз

помогите понять смысл кода.   Найти похожие ветки 

 
@!!ex ©   (2007-12-25 09:27) [0]

Прислали мне наднях демку, в одном месте используется вот такая процедура:
procedure VectorRotateX(const v: TVector; a: single; out FinishVector:TVector);
var
ty: single;
begin
    ty:=v.Y;
    FinishVector.Y:=v.Y * Cos(a) - (v.Z * Sin(a));
    FinishVector.Z:= ty * Sin(a) + (v.Z * Cos(a));
    FinishVector:=v
end;


Разве в результате работы вектор будет повернут???


 
Сергей М. ©   (2007-12-25 09:31) [1]

Вращение исходного 3D-вектора v относительно оси X на угол a с записью результирующего вектора в FinishVector.


 
Сергей М. ©   (2007-12-25 09:34) [2]


> Разве в результате работы вектор будет повернут?


Нет конечно. Ошибка в предпосл.строчке кода очевидна.


 
@!!ex ©   (2007-12-25 09:34) [3]

> [1] Сергей М. ©   (25.12.07 09:31)

FinishVector:=v;
Разве оно все вычисления не затрет??


 
@!!ex ©   (2007-12-25 09:35) [4]

> [2] Сергей М. ©   (25.12.07 09:34)

Я просто никогда не работал с out, поэтому и спросил, вдруг там какая то особенная логика...


 
Сергей М. ©   (2007-12-25 09:36) [5]


> FinishVector:=v


FinishVector.X := v.X


 
Сергей М. ©   (2007-12-25 09:37) [6]


> никогда не работал с out


out здесь ни причем.


 
@!!ex ©   (2007-12-25 09:37) [7]

> [6] Сергей М. ©   (25.12.07 09:37)

понял. спасибо за разъяснения!



Страницы: 1 вся ветка

Текущий архив: 2008.01.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
15-1198151898
Cj
2007-12-20 14:58
2008.01.27
System Volume Information - Ring3 access


15-1198205404
Slider007
2007-12-21 05:50
2008.01.27
С днем рождения ! 21 декабря 2007 пятница


2-1199285953
Stepper
2008-01-02 17:59
2008.01.27
Печать содержимого TRxRichEdit ?


15-1198069445
oldman
2007-12-19 16:04
2008.01.27
Поймал себя на мысли, что пишу на Дельфи, как на Бейсике...


4-1182446356
MInd_f
2007-06-21 21:19
2008.01.27
Сервис. DLL. Не работают функции экспортируемые из DLL. Хуки...