Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Функция Pie в Круговой диаграмме


Автор: Abbath1349 16.6.2010, 17:19
Подскажите.У меня возникла проблемма нужно написать круговую диаграмму на С++ Win 32 API.Там присутствует функция Pie в ней надо задавать начало сектора и конец сектора может кто нибудь подсказать как это сделать?Перерыл весь интернет не чего не нашол smile 

Автор: GremlinProg 17.6.2010, 08:13
точно так же как и в функции Arc, т.е. 6-7 параметры задают начальную точку сектора, а 8-9 - конечную
точки могут находиться не на кривой

Автор: Abbath1349 17.6.2010, 09:56
Да я понимаю,что как в Arc и что 6-7 и 8-9 означают. Я не могу понять какими формулами параметры 6-7 и 8-9 задаются.

Автор: GremlinProg 17.6.2010, 10:46
а, понял,

проще всего это делать на окружности,
но если надо на эллипсе, то можно в принципе посчитать, зафиксировав одну из точек сектора:

площадь сектора эллипса - это площадь сегмента эллипса по хорде AC + площадь треугольника ABC,
A - фиксирована где-то на кривой эллипса, В - центр, C - ?

площадь треугольника здесь: http://ru.wikipedia.org/wiki/Треугольник
площадь сегмента здесь: http://ru.wikipedia.org/wiki/Эллипс

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

Добавлено через 13 минут и 31 секунду
еще, как вариант - расчитать на окружности и трансформировать какой-нибудь матрицей с нужной кривизной: http://msdn.microsoft.com/en-us/library/dd162466(v=VS.85).aspx

по-моему, это будет гораздо проще

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)