|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.12.2014, 10:40 | #1 |
Пользователь
Регистрация: 07.01.2013
Сообщений: 45
|
Класс прямоугольника
Здравствуйте, может кто нибудь показать как реализовывать класс прямоугольника, который можно крутить на форме за одну из сторон? Ну или хотя бы просто передвигать?
|
22.12.2014, 12:51 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Это довольно большой класс. Примерно 200 строк кода. Почитайте лучше книгу: А.Я. Архангельский, М.А. Тагин "Приёмы программирования в С++ Builder". там всё подробно написано.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
22.12.2014, 18:40 | #3 |
Пользователь
Регистрация: 07.01.2013
Сообщений: 45
|
Ну по сути я написал сам класс то уже И есть метод, который при щелчке на канве, определяет принадлежит ли точка прямоугольнику. У прямоугольника верхний левый угол, как бы закреплен. И мне нужно, чтобы я мог его двигать по кругу вокруг закрепленного угла. Мне бы формулу узнать как угол рассчитывать? Если знаете подскажите пожалуйста.
|
22.12.2014, 21:53 | #4 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
вершины прямоугольника, по сути векторы. вот и умножай эти векторы на матрицу поворота.
https://ru.wikipedia.org/wiki/%D0%9C...BE%D1%82%D0%B0 |
22.12.2014, 22:59 | #5 |
Пользователь
Регистрация: 07.01.2013
Сообщений: 45
|
Но у меня неизвестен угол поворота, и координата вторая неизвестна, как решить такое уравнение, где две неизвестные тогда?
|
23.12.2014, 11:24 | #6 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
что то я не понял. почему две не известных?
у тебя что, угол поворота не задан? ну и координаты центра вращения должны быть известны или я не правильно задачу понял? |
23.12.2014, 13:05 | #7 |
Пользователь
Регистрация: 07.01.2013
Сообщений: 45
|
Да угла поворота нету, просто я тяну прямоугольник, а он поворачивается вокруг верхнего левого угла. Причем в нем есть текст, и он также поворачивается
|
23.12.2014, 16:35 | #8 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
что известно? Ясно изложенная задача на половину решена
|
24.12.2014, 04:14 | #9 |
Пользователь
Регистрация: 07.01.2013
Сообщений: 45
|
Так я почти уже сам решил проблему, осталось одна проблемка Последний угол (координаты xC,yC) не поворачивается, по моему по оси икс он поворачивается, а вот по оси игрек она строго в обратную сторону поворачивается. Подскажите правильную формулу для точки?
[IMG][/IMG] Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Cоздать класс жидкость. определить конструкторы деструкторы и функцию печати. создать публик производный класс. (С++) | Динар Габбасов | Помощь студентам | 0 | 28.05.2012 18:44 |
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! | xeops | C# (си шарп) | 0 | 15.05.2012 20:31 |
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. | Человек_Борща | Общие вопросы Delphi | 8 | 27.02.2012 23:24 |
Описать класс-родитель и класс-потомок. Delphi 7 | Andrew_M | Помощь студентам | 0 | 15.01.2011 14:42 |
Вращение прямоугольника | Ponaroshku | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 03.11.2009 09:22 |