Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 0 / 0
Регистрация: 31.07.2017
Сообщений: 35

Перемещение параллелограмма

16.05.2018, 15:42. Показов 731. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Задали в универе в этой проге нарисовать окружность вписанную в параллелограмм. Допустим, это я сделал, если не придиратся к мелочам. Но вот следующее задание - это заставить параллелограмм двигаться. Как??? Я кучу времени потратил на гугл, но так ничего и не нашел, что мог бы усвоить.
Вот мой код без попытки переместить параллелограмм.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TPoint points[4];
points[0] = Point(50, 50);
points[1] = Point(150, 50);
points[2] = Point(120, 100);
points[3] = Point(20, 100);
Canvas->Polygon(points, 4);
Canvas->Ellipse(37,50,134,100);
}
//---------------------------------------------------------------------------
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2018, 15:42
Ответы с готовыми решениями:

Построение параллелограмма на Image
Помогите построить параллелограмм на Image. Могу построить, если задать все 4 точки и по ним провести прямые. Но это не то. Есть...

Найти расстояние от точки на перпендикуляре к плоскости параллелограмма до стороны этого параллелограмма
в параллелограмме АВСД угол А равен 45 и АД равно 6 корней из 2. Отрезок АК перпендикулярен плоскости АВС и АК равно 8.Вічислите расстояние...

Перемещение камеры = -перемещение сцены?
Прочитала в redbook что переместить камеру можно 2 способами: переместить саму камеру в прямом направлении или переместить все объекты в...

4
106 / 93 / 44
Регистрация: 26.07.2015
Сообщений: 197
16.05.2018, 18:21
Что бы заставить параллелограмм двигаться надо через равные промежутки времени рисовать его на новом месте. Так и создается иллюзия движения.
Для этого добавляешь на форму таймер. В поле интервал вписываешь маленькое значение, скажем 50.
В событие "OnTimer" рисуешь параллелограмм на новых координатах
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int origin_x=0, origin_y=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Canvas->FillRect(Rect(0, 0, Form1->ClientWidth, Form1->ClientHeight)); //очистить от предыдущего изображения
TPoint points[4];
points[0] = Point(50+origin_x, 50+origin_y);
points[1] = Point(150+origin_x, 50+origin_y);
points[2] = Point(120+origin_x, 100+origin_y);
points[3] = Point(20+origin_x, 100+origin_y);
Canvas->Polygon(points, 3); // надо 3!!!
origin_x++; // смещение для следующего кадра
origin_y++;
}
//---------------------------------------------------------------------------
0
1 / 0 / 0
Регистрация: 31.07.2017
Сообщений: 35
18.05.2018, 10:17  [ТС]
Вставил Ваш код, но мне выдает ошибку.
[C++ Error] Unit1.cpp(20): E2316 '_fastcall TForm1::Timer1Timer(TObject *)' is not a member of 'TForm1'
Попытки гугла привели к выводу, что я не прописал прототип либо что-то не объявил, но мне это ни о чем не говорит. Что же с этим делать? Где читать про это?
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
18.05.2018, 10:29
Кинуть на форму Timer из вкладки System, а этот код прописать в событии OnTimer

Добавлено через 4 минуты
И лучше всего взять любую книгу Архангельского по билдеру и почитать главу "Графика и мультимедиа"
0
1 / 0 / 0
Регистрация: 31.07.2017
Сообщений: 35
18.05.2018, 10:41  [ТС]
Всем большое спасибо, разобрался)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2018, 10:41
Помогаю со студенческими работами здесь

Периметр параллелограмма
ребят, помогите с параллелограммом, 8 класс. не могу понять, откуда берётся двойка в периметре Pabdc=2(AB+AD). Откуда берётся эта двойка,...

Координаты параллелограмма
Есть треугольник ABC. Координаты точек известны: A(0;0), B(Xb;Yb), С(Xc;Yc). На луче AC выше точки C лежит точка F. Длина CF известна. На...

Метод параллелограмма
Добрый вечер всем! В теоретический механике как используется Метод параллелограмма Или что подразумевается под Методом...

Площадь параллелограмма
Подскажите с решением, даны векторы a=2b-4k, b={1,-4,-1}, найти площадь параллелограмма построенного на векторах a и 2a-b

площадь параллелограмма
Здравствуйте! Очень прошу помощь вас, решить следующие задачи: 1. Найдите площадь параллелограмма по диагоналям и углу между ними....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru