Текущий архив: 2005.10.23;
Скачать: CL | DM;
ВнизСколько РАЗНЫХ эллипсов можно вписать в прямоугольник? Найти похожие ветки
← →
Вольный Стрелок © (2005-10-04 13:11) [0]Вписать - это чтобы эллипс касался всех сторон прямоугольника.
← →
MBo © (2005-10-04 13:18) [1]Сколько угодно.
← →
Вольный Стрелок © (2005-10-04 13:21) [2]а как тогда работает API-функция Ellipse?
ведь там задаются координаты углов оконтуривающего прямоугольника
← →
pasha_golub © (2005-10-04 13:21) [3]Сначала думал, что один. А потом увидев ответ МВо, устыдился... :0)
Таки много.
← →
pasha_golub © (2005-10-04 13:22) [4]Вольный Стрелок © (04.10.05 13:21) [2]
Это конкретная реализация конкретной функции. Можно ведь было и другие входные параметры придумать.
← →
MBo © (2005-10-04 13:44) [5]>а как тогда работает API-функция Ellipse?
Она предназначена только для эллипсов, оси которых параллельны осям координат
← →
Вольный Стрелок © (2005-10-04 13:56) [6]2 MBo
В справке почему-то этот аспект не указан...
Значит, для рисования эллипсов с осями, непараллельными осям координат надо делать SetWorldTransform? Или (для 98) писать свою функцию рисования "наклонного" эллипса :(
← →
MBo © (2005-10-04 14:05) [7]>Значит, для рисования эллипсов с осями, непараллельными осям координат надо делать SetWorldTransform? Или (для 98) писать свою функцию рисования "наклонного" эллипса :(
Да, все верно. Эллипсы в GDI рисуются с помощью кривых Безье, поэтому для самостоятельного рисования наклонного эллипса можно сгенерировать контрольные точки кривых для окружности (понадобится 4 кривых) и провести над точками аффинное преобразование (произведение матриц - растяжения в A раз по оси X, в b раз по оси Y, поворота на угол Fi и переноса на X0,Y0)
← →
wicked © (2005-10-04 14:07) [8]афаир, Ellipse рисует эллипс из 4-х кусочков кубического Безье-сплайна.... исходными данными являются угловые точки оконтуривающего прямоугольника - control-точки, и точки, лежащие на "полпути" между угловыми - anchor-точки...
поэтому, учитывая, что в win32 api есть (и всегда была) функция рисования сплайнов Безье, написать свою функцию, рисующую какие угодно кривые, вписанные в заданный четырехугольник - дело 15 минут....
вотъ.... :)
← →
MBo © (2005-10-04 14:07) [9]P.S. про бесконечное количество эллипсов для произвольного пр-ка я что-то засомневался пока, но для квадрата уж точно их сколько угодно...
← →
oldman © (2005-10-04 17:06) [10]
> MBo © (04.10.05 14:07) [9]
Стыдитесь, батенька...
Для квадрата, чтоб касался всех сторон, только один.
И если сторона квадрата А, то данный эллипс называется кругом с радиусом А/2.
А поскольку у эллипса строгое соответсвие радиусов, вершин и высот, то для конкретного прямоугольника только 1 будет касаться всех сторон.
:)))
Да здавствует математика!!!
← →
oldman © (2005-10-04 17:09) [11]Пардон, вру!!!
Это я про эллипсы, оси которого параллельны сторонам прямоугольника и квадрата.
МВо!!! Бальшой, бальшой пардон!!!
← →
Думкин © (2005-10-05 05:56) [12]> oldman © (04.10.05 17:09) [11]
:)))))))))))
Big pardon, sir.
:)
А я просматривая почту прошлых лет наткнулся:
Эллипс - это овал вписаннный в прямоугольник 4:3.
Удачи.
← →
MBo © (2005-10-05 07:18) [13]>Думкин © (05.10.05 05:56) [12]
Классику искажаешь ;)
Эллипс - это круг, вписанный в квадрат 4:3
← →
Думкин © (2005-10-05 07:28) [14]> MBo © (05.10.05 07:18) [13]
Big pardon, sir. :))
Просматривал недавно почту, невнимательно. %))
Страницы: 1 вся ветка
Текущий архив: 2005.10.23;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.038 c