|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Oleg Shmidt 2:5020/400 28 Sep 2001 10:55:21 To : =B-V-A= Subject : Re: Дуга по двум точкам и углу -------------------------------------------------------------------------------- Hello =b-v-a=, BVA> Как отрисовать сабж. BVA> Т.е. как найти координаты центра. Кусок кода не мой, но суть думаю понятна. /*----------------------------------------------------------** ** ** **----------------------------------------------------------*/ Boolean ArcGetOrigo (const API_Coord *begC, const API_Coord *endC, double angle, API_Coord *origo) { double xm, ym, m; if (fabs (angle) < EPS) { origo->x = 0.0; origo->y = 0.0; return false; } xm = begC->x + endC->x; ym = begC->y + endC->y; if (fabs (fabs (angle) - PI) < EPS) { origo->x = xm / 2; origo->y = ym / 2; } else { m = 1.0 / tan (angle / 2.0); origo->x = (xm - m * (endC->y - begC->y)) / 2; origo->y = (ym + m * (endC->x - begC->x)) / 2; } return true; } /* ArcGetOrigo */ Best regards, mailto:Oleg@interdesign.pptus.ru Oleg Shmidt , Russia http://archigdl.virtualave.net -- Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/648885a95979.html, оценка из 5, голосов 10
|