![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вращение [D7, XP]
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]
> все вершины которых располагаются на полуокружности, у которой
> эта диагональ является диаметром
Мне эту фразу было понять труднее, чем догадаться что имел в виду автор и как расположен у него прямоугольник :)