HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 30.12.2009, 18:09
Retimiled
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме:
487460

Репутация: 45
По умолчанию

каждые три точки .... задают треугольник .... по сути каждая сторона треугольника это ХОРДА! А как известно перпендикуляры к хотя бы к 2-м серединам хорд дают пересечением однозначно центр окружности! Радиус получаешь по 2-м точкам центру окружности и любой из 3-х заданных точек!

.... если
struct crd
{
int x;
int y;
};
crd mnohestvo[N];

то проход по всевозможным тройкам
Код:
float l;
 for(i=0;i<N-3;i++)
   for(j=i+1;j<N-2;j++)
     for(k=j+1;k<N;k++)
       if(min>(l=raschet(i,j,k)))
         min=l;
расчет середины хорды
Код:
void find_sered(crd *first,crd *second,crd *sered)
{
  sered->x=(first->x+second->x)/2;
  sered->y=(first->y+second->y)/2;
}
уравнение прямой проходящей через 2 точки
y = kx + b — уравнение прямой, проходящей через точки A и B, где
k = (yB — yA) / (xB — xA)

уравнение перпендикуляра проходящего к отрезку AB
и проходящему через точку С
y = -(1/k)x + (Yc + (1/k)Xc)

и наконец нахождение центра
который равен решению системы 2-х уравнений

y = -(1/k)x + (Yc + (1/k)Xc) для 1-й и 2-й точек
и такому же для 2-й и 3-й точек.

Последний раз редактировалось Retimiled; 30.12.2009 в 18:43..
 
Ответить с цитированием
TEST SHARE BLOCK
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.