Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
XenoFlize
1 / 1 / 0
Регистрация: 09.11.2011
Сообщений: 15
#1

Нарисовать квадрат, вращающийся вокруг одной из вершин.

08.03.2012, 14:07. Просмотров 2666. Ответов 13
Метки нет (Все метки)

У меня похожая проблема.
Задание: нарисовать квадрат, вращающийся вокруг одной из вершин.
Я задаю вращение трёх точек, которые затем соединяю.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
  for i:= 0 to 360 do
    Begin
  a:=a+pi/90;
  b:=a+45;
  c:=a-45;
  s:=60;
  r:=(sqrt(2)*s);
  p:=(x+(r*cos(a)));
  q:=(y+(r*sin(a)));
  m:=(x+(s*cos(b)));
  n:=(y+(s*sin(b)));
  d:=(x+(s*cos(c)));
  e:=(y+(s*sin(c)));
(p,q), (m,n), (d,e) - координаты вершин (К.О.)
Ну и потом соединяю с помощью Canvas.lineto.
По моим расчётам, должен нарисоваться квадрат, но почему-то получается некий симметричный многоугольник.
Пожалуйста, подскажите, чё не так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 14:07
Ответы с готовыми решениями:

Вращающийся квадрат
Изобразить вращающийся квадрат, после каждого оборота он должен менять цвет

Нарисовать треугольник по координатам вершин
здравствуйте помогите пожалуйста нужно нарисовать треугольник по координатам...

Как нарисовать квадрат в делфи?
И найти площадь

PaintBox: нарисовать окружность, вписанную в квадрат
Здравствуйте мне нужно нарисовать окружность вписанную в квадрат(их количество...

Нарисовать квадрат, а внутри него круг
Помогите пожалуйста составить программу, которая рисует квадрат, а внутри его...

13
Puporev
Модератор
54370 / 41958 / 28981
Регистрация: 18.05.2008
Сообщений: 98,832
08.03.2012, 14:17 #2
Вероятно Вы не стирая предыдущий квадрат рисуете новый.
0
Lirrk
Заблокирован
08.03.2012, 16:24 #3
XenoFlize,
Тут есть 2 пути
1 Это рисовать два раза. Первый раз, скажем чёрным цветом. второй раз тот же рисунок цветом фона
2 Рисовать на отдельном битмапе и выводить готовый рисунок.
0
Puporev
Модератор
54370 / 41958 / 28981
Регистрация: 18.05.2008
Сообщений: 98,832
08.03.2012, 16:30 #4
3 путь очищать канву, пример во вложении.
1
Вложения
Тип файла: rar Вращение квадрата вокруг вершины.rar (168.6 Кб, 261 просмотров)
XenoFlize
1 / 1 / 0
Регистрация: 09.11.2011
Сообщений: 15
08.03.2012, 18:02  [ТС] #5
Огромное спасибо.
0
Lirrk
Заблокирован
08.03.2012, 21:10 #6
Puporev,
Бесподобно. Особенно дрожание и мелкание
0
Arcor
4882 / 1834 / 382
Регистрация: 20.11.2009
Сообщений: 5,888
Записей в блоге: 1
08.03.2012, 21:32 #7
Цитата Сообщение от Lirrk Посмотреть сообщение
Puporev,
Бесподобно. Особенно дрожание и мелкание

Не по теме:

можно вопрос не скромный? Не надоело еще в каждой теме всех попрекать?

0
Lirrk
Заблокирован
08.03.2012, 23:08 #8
Arcor,
Вы слоган свой прочитайте. Вот когда будут ему следовать, ни слова не скажу.
Это во-первых.
Во-вторых - не в каждом.
В-третьих - когда язвят в отношении меня, вы в упор не видите.
А в-четвёртых, надо писать - "нескромный". Слитно.
0
Arcor
4882 / 1834 / 382
Регистрация: 20.11.2009
Сообщений: 5,888
Записей в блоге: 1
08.03.2012, 23:31 #9
Цитата Сообщение от Lirrk Посмотреть сообщение
А в четвёртых, надо писать - нескромный. Слитно.
Цитата Сообщение от Lirrk Посмотреть сообщение
Вы слоган свой прочитате

Не по теме:

ой... чья бы корова мычала..., знаки препинания сам ставить не умеет, отверчивается точками да тире, которые все равно не правильный смысл прочитанному дают ;)

а у меня есть отговорка на счет этого... и это отлично, что я русский язык хоть так еще помню

0
deathNC
09.03.2012, 02:34
  #10
 Комментарий модератора 
Уважаемые форумчание! Прошу писать только по теме!
0
Puporev
Модератор
54370 / 41958 / 28981
Регистрация: 18.05.2008
Сообщений: 98,832
09.03.2012, 13:06 #11
Вот с перерисовкой и с bitmap. На мой взгляд никакого заметного улучшения.
0
Вложения
Тип файла: rar Вращение квадрата bitmap.rar (167.1 Кб, 28 просмотров)
Тип файла: rar Вращение квадрата перерисовка.rar (167.1 Кб, 28 просмотров)
zuxa-zuxa
Мишка Косолапый :)
282 / 252 / 86
Регистрация: 15.02.2012
Сообщений: 1,468
Завершенные тесты: 1
09.03.2012, 19:08 #12
for i:= 0 to 360 do Может я ошибаюсь но помоему вместо := должно быть =
0
Puporev
Модератор
54370 / 41958 / 28981
Регистрация: 18.05.2008
Сообщений: 98,832
09.03.2012, 19:10 #13
Цитата Сообщение от zuxa-zuxa Посмотреть сообщение
Может я ошибаюсь
может, даже наверняка, можешь проверить.

Добавлено через 35 секунд
Кстати поезд давно уже ушел...
0
Arcor
4882 / 1834 / 382
Регистрация: 20.11.2009
Сообщений: 5,888
Записей в блоге: 1
09.03.2012, 19:23 #14
Цитата Сообщение от zuxa-zuxa Посмотреть сообщение
for i:= 0 to 360 do Может я ошибаюсь но помоему вместо := должно быть =
:= присваивание
= сравнение
0
09.03.2012, 19:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 19:23

Изобразить на экране прямую, вращающуюся в плоскости экрана вокруг одной из своих точек
Изобразить на экране прямую, вращающуюся в плоскости экрана вокруг одной из...

Нарисовать треугольник, круг, квадрат при нажатии клавиши
Доброго времени суток всем, помогите пожалуйста с программой, суть такая при...

Нарисовать квадрат в Image1.Canvas (Сторону квадрата вводит пользователь)
Есть форма и внутри неё есть 1 кнопка (Нарисовать) и 1 SpinEdit (в него заносим...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru