![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
procedure RotateX
ANTPro © (2007-09-17 20:02:00)Может кто-нибуть обьяснить философский смысл параметра
Countи почему используетсяconst, а неvar?
type
T3DPointRec = record
case Boolean of
False: (X, Y, Z, S: Extended);
True: (Vector: array[0..3] of Extended);
end;
P3DPointRec = ^T3DPointRec;
...
procedure RotateX(const Point: P3DPointRec; const Count: Integer; const Angle: Extended);
var
S, C: Extended;
Y, Z: Extended;
I: Integer;
P: P3DPointRec;
begin
SinCos(Angle, S, C);
P := Point;
for I := 1 to Count do
begin
Y := P^.Y;
Z := P^.Z;
P^.Y := C * Y - S * Z;
P^.Z := S * Y + C * Z;
Inc(P);
end;
end;
Почему не так?
procedure RotateX(var Point: T3DPointRec; const Angle: Extended);
var
S, C: Extended;
Y, Z: Extended;
begin
SinCos(Angle, S, C);
Y := Point.Y;
Z := Point.Z;
Point.Y := C * Y - S * Z;
Point.Z := S * Y + C * Z;
end;
ANTPro (2007-09-17 22:24:00) [1]Всем спасибо. Я все понял :)
icWasya (2007-09-17 22:12:00) [2]Калька с языка C.
и подразумевается такое использование
Var
Vectors : array of T3DPointRec;
...
RotateX(@ Vectors[0], Length(Vectors), Angle);
ANTPro (2007-09-17 21:48:00) [3]> [6] Вася Правильный (17.09.07 21:15)
> поворот по заданному кол-ву осей?
ЕслиCount=1, то по X. А если больше, то что-то непонятное :(
> [6] Вася Правильный (17.09.07 21:15)
> а const - чтоб адрес не заменили, а только содержимое по
> нему
А сvarразве не тоже самое будет?
Вася Правильный (2007-09-17 21:15:00) [4]поворот по заданному кол-ву осей?
а const - чтоб адрес не заменили, а только содержимое по нему
ANTPro (2007-09-17 21:15:00) [5]> [5] Сергей М. © (17.09.07 21:09)
О процедуре у тебя идет речь ..
Ясно :)
Сергей М. (2007-09-17 21:09:00) [6]
> ANTPro © (17.09.07 20:59) [4]
Какой нафих "результат" ?
О процедуреу тебя идет речь ..
ANTPro (2007-09-17 20:59:00) [7]> [3] Сергей М. © (17.09.07 20:38)
Если ты говоришь про результат, то ты неправ. Она возвращает результат(в Point), несмотря наconst.
Сергей М. (2007-09-17 20:38:00) [8]
> ANTPro © (17.09.07 20:35) [2]
Подозреваю, что в первой реализации процедураделает попросту бестолковую работу)
ANTPro (2007-09-17 20:35:00) [9]> [1] Сергей М. © (17.09.07 20:21)
Врядли, что делает функция приCount=1я и так знаю. Меня смущает такая реализация :/
Сергей М. (2007-09-17 20:21:00) [10]Эта хрень, пожалуй, более известна нашим многоуважаемым игролепам
http://www.delphimaster.ru/cgi-bin/forum.pl?n=9