Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вращение [D7, XP]


Страницы:   1 2 3 4

Newss ©   (2008-08-07 15:17:00) 

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


@!!ex   (2008-08-07 19:49:00) [41]

> > Юрий Зотов ©   (07.08.08 18:55) [19]
> > Жаль, что изобретатели типа TRect об этом не знали, правда?
>
> Я мало знаком с "изобретателями типа TRect", я учился в
> обычной школе, изучал геометрию.
> "Нарисуйте" мне, пожалуйста, функцию (процедуру), которая
> даст мне координаты вершин этого прямоугольника (заданного
> координатами его диагонали - совсем необязательно чтобытам
> присутствовали: x1, x2, y1, y2).
>
> > {RASkov} ©   (07.08.08 19:05) [20]
> > А как же метод Rectangle? Разве там не диагональ указывается?
> > )
> А я, собственно, не про Rectangle, я про прямоугольник
>
> Неужели все заказчики обязаны знать "изобретателей типа
> TRect" и о существовании "Rectangle"?

Здесь форум программистов. ку? Для программирования, а точнее для программирования графики на Кэнвасе, задание прямоугольника его диагональю - это общепринятый подход, и чем вы так удивилсь - непонятно.
Заказчики общаются в других местах.


antonn   (2008-08-07 19:45:00) [42]


> А не могут ли быть быть эти координаты, координатами диагонали,
>  в частности, квадрата?

каждый квадрат - прямоугольник, и что?


> Глупо в первую очередь то, что прямоугольник невозможно
> задать координатами его диагонали см.

при задании неких условий - можно. Например пояснить, что прямоугольник не повернут, его стороны параллельны/перпендикулярны координатам (декартовым, дабы некоторые по недоразумению не попытались в сферических координатах это представить и не перегрузили себе сохзнание).


> Юрий Зотов ©   (07.08.08 19:39) [29]

к сожалению все больше хороших людей начинают принимать именно такую "однозначную философию", не знаю, может от скуки... :(


Юрий Зотов   (2008-08-07 19:39:00) [43]

> _Milk   (07.08.08 19:25) [24]

> при чем тут программисты

Не все (к счастью). А только те, которые, ложась спать, ставят на тумбочку 2 стакана. Один с водой (на случай, если ночью захочется пить), а другой пустой (на случай, если пить не захочется). Сорри за баян, но приходится.

Они тут при том, что мыслят исключительно терминами двочными (ноль-единица, да-нет...). Если, например, такому программисту сказать, что лошади едят траву, то он сразу ответит, что высказывание некорректно. Потому что лошади едят не всякую траву, потому что спящие лошади траву не едят и т.п.

Любому нормальному человеку все это понятно и без дополнительных уточнений, как понятен и смысл высказывания. Но только не двоичному программисту. Ему обязательно нужна однозначная булевская функция, возвращающая результат типа "а ест ли данная лошадь в данный момент времени данную траву". Без нее - никак.

Вот и в данном случае - всем, кроме двоичных программистов, совершенно понятно, что имел в виду автор вопроса.


{RASkov}   (2008-08-07 19:38:00) [44]

> [27] DVM ©   (07.08.08 19:33)
> Только крайне неудобно это.

Да брось ты это...)
Мы тут об жирном в [18]
:о)


DVM   (2008-08-07 19:33:00) [45]


> {RASkov} ©   (07.08.08 19:28) [25]


> Во-во.... а они могут быть как раз всегда параллельны осям.
> ... только оси-то как раз и вертеть :)

Только крайне неудобно это. Координаты то надо задавать относительно нового положения этих самых осей. Ненаглядно это.


DVM   (2008-08-07 19:32:00) [46]

Кстати, насчет типа TRect (и подобного метода) для задания прямоугольника диагональю.
Работал я тут как то над некоторым подобием векторного редактора. Так вот один из классов там как раз был класс, представляющий собой прямоугольник. И его ранее (до меня кто-то) решил задавать именно диагональю. Потом наплодили наследников и т.д. Мне понадобилось добавить метод поворота. Но из-за того что прямоугольник был задан только двумя вершинами вместо четырех пришлось переписывать кучу кода (до сих пор не переписал еще все).


{RASkov}   (2008-08-07 19:28:00) [47]

> [22] Юрий Зотов ©   (07.08.08 19:18)

:)
> Прямоугольник на координатной плоскости можно задать его
> диагональю только в том случае, если его стороны параллельны
> осям координат.

Во-во.... а они могут быть как раз всегда параллельны осям.... только оси-то как раз и вертеть :)


> [23] _Milk   (07.08.08 19:22)
> А я, собственно, не про Rectangle, я про прямоугольник

Смешно как-то
And I, actually, not about Прямоугольник, I about a rectangle
:о)


_Milk   (2008-08-07 19:25:00) [48]

> Юрий Зотов ©   (07.08.08 19:18) [22]
Если бы кто-то другой так запостил, я бы не удивился.
> как образец мышления программистов
А при чем тут программисты ... :(


_Milk   (2008-08-07 19:22:00) [49]

> Юрий Зотов ©   (07.08.08 18:55) [19]
> Жаль, что изобретатели типа TRect об этом не знали, правда?
Я мало знаком с "изобретателями типа TRect", я учился в обычной школе, изучал геометрию.
"Нарисуйте" мне, пожалуйста, функцию (процедуру), которая даст мне координаты вершин этого прямоугольника (заданного координатами его диагонали - совсем необязательно чтобытам присутствовали: x1, x2, y1, y2).

> {RASkov} ©   (07.08.08 19:05) [20]
> А как же метод Rectangle? Разве там не диагональ указывается?> )
А я, собственно, не про Rectangle, я про прямоугольник

Неужели все заказчики обязаны знать "изобретателей типа TRect" и о существовании "Rectangle"?


Юрий Зотов   (2008-08-07 19:18:00) [50]

Подожду, когда эту ветку перенесут в потрепаловку, потом подожду, пока на ней не нарастет штук 500 постов, а потом сохраню, как образец мышления программистов, которые, ложась спать, ставят на тумбочку 2 стакана.


DVM   (2008-08-07 19:12:00) [51]

Прямоугольник на координатной плоскости можно задать его диагональю только в том случае, если его стороны параллельны осям координат. Во всех остальных случаях прямоугольников с данной диагональю будет бесконечно много.


{RASkov}   (2008-08-07 19:05:00) [52]

> [18] _Milk   (07.08.08 18:38)
> Глупо в первую очередь то, что прямоугольник невозможно
> задать координатами его диагонали

А как же метод Rectangle? Разве там не диагональ указывается?)
С поворотом прямоугольника сложнее, но опять же.... так же можно задать тот самый повернутый прямоугольник - диагональю, с учетом угла поворота....


Юрий Зотов   (2008-08-07 18:55:00) [53]

> _Milk   (07.08.08 18:38) [18]

> Глупо в первую очередь то, что прямоугольник невозможно задать
> координатами его диагонали

Жаль, что изобретатели типа TRect об этом не знали, правда? А то бы они такую глупость ни за что не сделали. И как только она до сих пор работает - непонятно, да?


_Milk   (2008-08-07 18:38:00) [54]

> {RASkov} ©   (07.08.08 18:33) [16]
Глупо в первую очередь то, что прямоугольник невозможно задать координатами его диагоналисм.
> > Johnmen ©   (07.08.08 15:32) [3] > > Спасибо. Поржал.

И попробуй > если через диагональ их можно задать бесчисленное множество (все вершины которых располагаются на полуокружности, у
> которой эта диагональ является диаметром)


McSimm   (2008-08-07 18:38:00) [55]


> _Milk   (07.08.08 18:12) [13]

это понятно, я не сразу смог мысленно представить прямоугольник, все вершины которого на полуокружности.

А вопрос автора, как и его ошибку в формулировке - понял как-то сразу.


{RASkov}   (2008-08-07 18:33:00) [56]

> Представляешь себе не ясно:(.

> Прямоугольник задается своей диагональю, то есть известны точки (х1, у1) и (х2, у2).  

Данной диагональю можно и повернутый прямоугольник обозначить...
Чего здесь странного?
Вот [6] и описание в [0] - действительно немного глупо...


_Milk   (2008-08-07 18:29:00) [57]

> диагональю задается исходный прямоугоник, не повернутый,
>   неужели не ясно?</I>
Представляешь себе не ясно:(. А не могут ли быть быть эти координаты, координатами диагонали, в частности, квадрата?
Вы когда и в какой школе учились (из анкеты это не понятно):)?


antonn   (2008-08-07 18:23:00) [58]


> Johnmen ©   (07.08.08 15:32) [3]
>
>
> >  Прямоугольник задается своей диагональю, то есть известны
> > точки (х1, у1) и (х2, у2).  
>
> Спасибо. Поржал.

Пожалуйста. Заходите еще.


> О каком вращении прямоугольника может идти речь, если через
> диагональ их можно задать бесчисленное множество (все вершины
> которых располагаются на полуокружности, у которой эта диагональ
> является диаметром)
>

диагональю задается исходный прямоугоник, не повернутый, неужели не ясно?


_Milk   (2008-08-07 18:12:00) [59]

> > все вершины которых располагаются на полуокружности, у
> которой эта диагональ является диаметром

это значит, что все углы из этой серии будут прямыми:)


McSimm   (2008-08-07 18:07:00) [60]


> все вершины которых располагаются на полуокружности, у которой
> эта диагональ является диаметром

Мне эту фразу было понять труднее, чем догадаться что имел в виду автор и как расположен у него прямоугольник :)


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо