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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2008, 21:03   #1
Stalkon
 
Регистрация: 09.11.2008
Сообщений: 4
По умолчанию Задача на Delphi

Прошу помощи в реализации задачи на делфи.
Задача:Разработать программную модель взаимного качения квадрата и эллипса.
Эллипс расположен внутри квадрата, и вращается в одну сторону с ним.
Stalkon вне форума Ответить с цитированием
Старый 10.11.2008, 04:28   #2
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Не очень понятно, что нужно. Картинку можешь нарисовать?
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 10.11.2008, 23:17   #3
Stalkon
 
Регистрация: 09.11.2008
Сообщений: 4
По умолчанию

Картинка есть, но я так и не нашел FAQ по прикреплению ее.
Stalkon вне форума Ответить с цитированием
Старый 10.11.2008, 23:23   #4
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

Как загрузить картинку во вложении
Изображения
Тип файла: jpg 777.jpg (16.7 Кб, 152 просмотров)
slips вне форума Ответить с цитированием
Старый 10.11.2008, 23:24   #5
Nemon
Армия Рассейская
Форумчанин
 
Аватар для Nemon
 
Регистрация: 06.12.2006
Сообщений: 175
По умолчанию

Цитата:
Сообщение от Stalkon Посмотреть сообщение
Картинка есть, но я так и не нашел FAQ по прикреплению ее.
Улыбнула откровенность
Внимательнее надо быть.
Чуть ниже поля для ввода "Быстрого ответа" есть кнопка "Расширенный режим" жмешь ее и мотаешь вниз там увидишь пыптик "управление вложениями"... он тебе и нужен
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН
Nemon вне форума Ответить с цитированием
Старый 13.11.2008, 15:22   #6
Stalkon
 
Регистрация: 09.11.2008
Сообщений: 4
По умолчанию

Вот рисунок того что имеется ввиду в задаче
Изображения
Тип файла: jpg Курс.jpg (3.2 Кб, 159 просмотров)
Stalkon вне форума Ответить с цитированием
Старый 13.11.2008, 15:26   #7
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Т.е., квадрат и эллипс взаимно не связаны. Плюс квадрат качается сам, а эллипс качается под действием качений квадрата. Я правильно понял?
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 15.11.2008, 17:34   #8
Stalkon
 
Регистрация: 09.11.2008
Сообщений: 4
По умолчанию

Он не качается, а катится по какой-либо поверхности. Но по их взаимодействию вы правы.
Stalkon вне форума Ответить с цитированием
Старый 15.11.2008, 18:45   #9
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Какой-либо это не ответ. Нарисуйте.
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Старый 15.11.2008, 18:48   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

м.м.м Значит я примерно так это продставляю:
Находим центр квадрата, допустим он стоит на одной из сторон. Чтоб его перекатить нужно его центр провести по пути, который представляет собой дугу, начало которой в координатах текущего центра с радиусом описанной около квадрата окружности. При проходе центра квадрата по дуге меняй его угол )

Вот ради интереса (собственного) решил эту задачу так:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure scr(cx,cy:integer;ang:Double);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.scr;
const cn=100;
var i,k:integer;ax,ay:real;
begin
       ang:=ang;
       with Canvas do begin
        MoveTo(cx,cy);
          for k:=1 to 4 do begin
          ax:=cos(ang*pi/180);
          ay:=sin(ang*pi/180);
            cx:=cx+round(ax*cn);
            cy:=cy+round(ay*cn);
//             Rectangle(cx-10,cy-10,cx+10,cy+10);
            LineTo(cx,cy);
            ang:=ang+90;
         END;
       end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var k,i:integer;
begin
for k:=1 to 5 do
for i:=0 to 90 do begin
 scr(100*k,100,i+180);
 sleep(10);
 Canvas.FillRect(ClientRect);
end;
end;

end.
P.S. В 3DStudio это бы решилось парочкой строк в одном цикле...
I'm learning to live...

Последний раз редактировалось Stilet; 15.11.2008 в 20:59.
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Delphi Chidory Помощь студентам 2 25.10.2008 12:28
Задача на Delphi evrey Общие вопросы Delphi 1 01.06.2008 20:37
Задача в DELPHI. Absent Помощь студентам 7 25.02.2008 14:04
Задача в Delphi Oksana11 Помощь студентам 3 22.12.2007 00:12