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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2014, 23:12   #1
aHristovsky
Пользователь
 
Аватар для aHristovsky
 
Регистрация: 29.04.2014
Сообщений: 28
Вопрос Поворот ромба

Помогите повернуть ромб так, чтобы получился квадрат, не сильно меняя код. Очень прошу. Файл lpi:
Код HTML:
<?xml version="1.0"?>
<CONFIG>
  <ProjectOptions>
    <Version Value="9"/>
    <PathDelim Value="\"/>
    <General>
      <SessionStorage Value="InProjectDir"/>
      <MainUnit Value="0"/>
      <Title Value="project1"/>
      <ResourceType Value="res"/>
      <UseXPManifest Value="True"/>
      <Icon Value="0"/>
    </General>
    <i18n>
      <EnableI18N LFM="False"/>
    </i18n>
    <VersionInfo>
      <StringTable ProductVersion=""/>
    </VersionInfo>
    <BuildModes Count="1">
      <Item1 Name="Default" Default="True"/>
    </BuildModes>
    <PublishOptions>
      <Version Value="2"/>
      <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
      <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
    </PublishOptions>
    <RunParams>
      <local>
        <FormatVersion Value="1"/>
      </local>
    </RunParams>
    <RequiredPackages Count="2">
      <Item1>
        <PackageName Value="SQLDBLaz"/>
      </Item1>
      <Item2>
        <PackageName Value="LCL"/>
      </Item2>
    </RequiredPackages>
    <Units Count="2">
      <Unit0>
        <Filename Value="project1.lpr"/>
        <IsPartOfProject Value="True"/>
        <UnitName Value="project1"/>
      </Unit0>
      <Unit1>
        <Filename Value="unit1.pas"/>
        <IsPartOfProject Value="True"/>
        <ComponentName Value="Form1"/>
        <HasResources Value="True"/>
        <ResourceBaseClass Value="Form"/>
        <UnitName Value="Unit1"/>
      </Unit1>
    </Units>
  </ProjectOptions>
  <CompilerOptions>
    <Version Value="11"/>
    <PathDelim Value="\"/>
    <Target>
      <Filename Value="project1"/>
    </Target>
    <SearchPaths>
      <IncludeFiles Value="$(ProjOutDir)"/>
      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    </SearchPaths>
    <Linking>
      <Options>
        <Win32>
          <GraphicApplication Value="True"/>
        </Win32>
      </Options>
    </Linking>
    <Other>
      <CompilerMessages>
        <MsgFileName Value=""/>
      </CompilerMessages>
      <CompilerPath Value="$(CompPath)"/>
    </Other>
  </CompilerOptions>
  <Debugging>
    <Exceptions Count="3">
      <Item1>
        <Name Value="EAbort"/>
      </Item1>
      <Item2>
        <Name Value="ECodetoolError"/>
      </Item2>
      <Item3>
        <Name Value="EFOpenError"/>
      </Item3>
    </Exceptions>
  </Debugging>
</CONFIG>
aHristovsky вне форума Ответить с цитированием
Старый 12.05.2014, 23:30   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

А зачем этот файл? Нужны *.pas
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 12.05.2014, 23:31   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Всякий квадрат является ромбом.
Но не всякий ромб является квадратом, и поворотом тут не поможешь. Надо сжимать или растягивать, а не поворачивать.
type_Oleg вне форума Ответить с цитированием
Старый 12.05.2014, 23:39   #4
aHristovsky
Пользователь
 
Аватар для aHristovsky
 
Регистрация: 29.04.2014
Сообщений: 28
По умолчанию

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, mysql40conn, FileUtil, Forms, Controls, Graphics, Dialogs,
  StdCtrls, ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Change(Sender: TObject);
    type
     xy=array[1..4] of Tpoint;
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.CheckBox1Change(Sender: TObject);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
var
   p,p1:array[1..4,1..3] of word;
   i,j,k,s:word;
const
   d=200;
   t:array[1..3,1..3] of word=((0,1,0),(1,0,0),(20,20,1));
begin
     p[1,1]:=Width div 2;
     p[1,2]:=d;
     p[2,1]:=Width - d;
     p[2,2]:=Height div 2;
     p[3,1]:=Width div 2;
     p[3,2]:=Height - d;
     p[4,1]:=d;
     p[4,2]:=Height div 2;
     for i:=1 to 4 do
         p[i,3]:=1;
     with Canvas do
     begin
       Pen.Width:=10;
       Pen.Color:=clGreen;
       polyline([Point(p[1,1],p[1,2]),Point(p[2,1],p[2,2]),
       Point(p[3,1],p[3,2]),Point(p[4,1],p[4,2]),Point(p[1,1],p[1,2])]);
     end;
     for i:=1 to 4 do
         for j:=1 to 3 do
             begin
               s:=0;
               for k:=1 to 3 do
                 s:=s+p[i,k]*t[k,j];
               p1[i,j]:=s;
             end;
     p:=p1;
     with Canvas do
     begin
       Pen.Width:=10;
       Pen.Color:=clRed;
       PolyLine([Point(p[1,1],p[1,2]),Point(p[2,1],p[2,2]),
       Point(p[3,1],p[3,2]),Point(p[4,1],p[4,2]),Point(p[1,1],p[1,2])]);
     end;

end;

end.
aHristovsky вне форума Ответить с цитированием
Старый 12.05.2014, 23:40   #5
aHristovsky
Пользователь
 
Аватар для aHristovsky
 
Регистрация: 29.04.2014
Сообщений: 28
По умолчанию

ромб должен перевернуться и превратиться в увеличенный квадрат вроде, а потом этот квадрат сместить надо
aHristovsky вне форума Ответить с цитированием
Старый 12.05.2014, 23:40   #6
aHristovsky
Пользователь
 
Аватар для aHristovsky
 
Регистрация: 29.04.2014
Сообщений: 28
По умолчанию

ромб, перевернутый квадрат и смещенный квадрат
3 фигуры получается
aHristovsky вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование Ромба Assembler JustRita Помощь студентам 1 11.01.2012 11:09
поворот изображения на форме (либо поворот файла с картинкой) mystiql Microsoft Office Access 2 21.06.2011 22:03
Определение ромба soldm Помощь студентам 9 06.10.2008 22:17