Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 12:52   #1
Cill
Пользователь
 
Регистрация: 10.05.2012
Сообщений: 10
По умолчанию Построение 2D изображений. 2D аффинные преобразования Продолжение

for i := Low(arrow) to High(arrow) do
arrow2[i] := arrow[i];

SetLength(wall, 8);
//|
wall[0].Xn := pbOut.Width - 50; wall[0].Yn := 120;
wall[0].Xk := pbOut.Width - 50; wall[0].Yk := wall[0].Yn + WallHeight;

wall[1].Xn := pbOut.Width - 50; wall[1].Yn := wall[0].Yn;
wall[1].Xk := pbOut.Width; wall[1].Yk := wall[1].Yn - Round(WallHeight * cos(70* 3.14 / 180));

wall[2].Xn := pbOut.Width - 50; wall[2].Yn := wall[0].Yn;
wall[2].Xk := pbOut.Width; wall[2].Yk := wall[0].Yn;

wall[3].Xn := pbOut.Width - 50; wall[3].Yn := wall[0].Yn + WallHeight;
wall[3].Xk := pbOut.Width; wall[3].Yk := wall[0].Yn + WallHeight;

wall[4].Xn := wall[0].Xn + 10; wall[4].Yn := wall[0].Yn + 10;
wall[4].Xk := wall[4].Xn; wall[4].Yk := wall[4].Yn + 15;

wall[5].Xn := wall[0].Xn + 10 + 15; wall[5].Yn := wall[0].Yn + 10;
wall[5].Xk := wall[5].Xn; wall[5].Yk := wall[5].Yn + 15;

wall[6].Xn := wall[0].Xn + 10; wall[6].Yn := wall[0].Yn + 10;
wall[6].Xk := wall[6].Xn + 15; wall[6].Yk := wall[6].Yn;

wall[7].Xn := wall[0].Xn + 10; wall[7].Yn := wall[0].Yn + 10 + 15;
wall[7].Xk := wall[7].Xn + 15; wall[7].Yk := wall[7].Yn;

Trans(wall[4].Xn, wall[4].Yn);
for i := Low(arrow) to High(arrow) do
arrow[i] := arrow2[i];

ReSize(5.5);
for i := Low(arrow) to High(arrow) do
arrow[i] := arrow2[i];

Turn(40 * 3.14/ 180, (arrow2[0].Xn + arrow2[0].Xk) div 2, (arrow2[0].Yn + arrow2[0].Yk) div 2);
for i := Low(arrow) to High(arrow) do
arrow[i] := arrow2[i];

y1 := Round(0.0002 * (wall[4].Xn - 1) * (wall[4].Xn - 1) ) + 92;
SetLength(traek, Length(traek) + 1);
traek[High(traek)].X := wall[4].Xn - 1;
traek[High(traek)].y := y1;
for i := wall[4].Xn - 1 downto wall[4].Xn - 50 do
begin
SetLength(traek, Length(traek) + 1);
y2 := Round(0.0002 * i * i ) + 92;
traek[High(traek)].X := i;
traek[High(traek)].y := y2;
y1 := y2;
end;

y1 := Round(10000 / (wall[4].Xn - 50) )+ 100;;
SetLength(traek, Length(traek) + 1);
traek[High(traek)].X := wall[4].Xn - 50;
traek[High(traek)].y := y1;
for i := wall[4].Xn - 50 downto 40 do
begin
SetLength(traek, Length(traek) + 1);
y2 := Round(10000 / i )+ 100;
traek[High(traek)].X := i;
traek[High(traek)].y := y2;
y1 := y2;
end;
end;
Cill вне форума
Старый 10.05.2012, 13:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кросспост наказуем.
продолжай в предидущей теме
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продолжение С++ Maksim0905 Свободное общение 54 23.09.2012 09:16
Аффинные преобразования (( Alexxiss Помощь студентам 1 17.02.2011 20:11
КЛАССЫ В С++ (продолжение) kolyan_zver Общие вопросы C/C++ 3 26.09.2010 01:37
Аффинные преобразования meradone Общие вопросы Delphi 0 22.11.2009 15:00