2016-04-08 2 views
0

У меня есть два круга (круг-1, круг-2) с центрами x1, y1 и x2, y2 впоследствии, с одинаковым размером.Поиск уровня наложения в процентах от двух одинаковых окружностей

Теперь я хочу, чтобы вычислить процент SUPERIMPOSE из cir2 на cir1 (в процентах) (ех) Если cir2 полностью покрывает cir1, а затем наложите = 100% если половина Superimpose сделана оценка будет ве 50%, если не накладывать вообще = 0%.

Как это сделать .....?

Любое руководство ....

+0

http://mathworld.wolfram.com/Circle-CircleIntersection.html –

+0

Спасибо за ответ. Найти немного трудно понять. Есть ли другой способ вычисления (ex) с использованием расстояния между точками формулы distance = Math.sqrt ((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2)); и поэтому один .... – user6176116

+0

Считается, что через формулу «Расстояние» мы можем преобразовать в некоторое процентное значение – user6176116

ответ

0
Thanks Andy. 
I got an idea from the link you provide. 
Though the idea is not the best, but it solves the purpose.. 

double radius = 40.0; 
int x1 =100; //first Circle X value 
int y1 = 100; //first Circle Y value 
int x2 = 100; //second Circle X value 
int y2 = 100; //second Circle Y value 

double iDist = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)); 
double per = (100.0-(iDist/radius)*100); //get the value in % 
System.out.println("Distance: "+iDist + "("+per+"%)"); 


OUTPUT: 

if values are (100,100) and (100,100) then o/p : 100% 
if values are (100,100) and (120,100) then o/p : 50% 
if values are (100,100) and (140,100) then o/p : 0% 
if values are (100,100) and (600,600) then o/p : percentage in negative value (ex) - 973% 


All the best....! 
Смежные вопросы