Операции "intra" & "inter" lists

Пожалуйста, рассмотрите следующее:

lesDisques={{14.2065, 10.609, 0.974938}, {19.5653, 6.92721, 0.974938}, 
            {30.4607,17.4802, 0.974938}, {27.4621, 10.0393, 0.974938}, 
            {15.915, 20.4278,0.974938}, {28.6921, 5.2132, 1.53205}, 
            {27.0317, 24.8346,1.53205}, {20.8853, 18.8588, 1.53205}}

 where lesDisques[[#]] is {X,Y,R}

 frmCorner = {{6.5946, 1.5946`}, {6.5946, 28.4054`}, 
              {60.2162`,28.4054`}, {33.4054`, 28.4054`}}

 cog = {23.91871026577044`, 15.010499627383863`}

 scrCenter = {20, 15}

 frmXY={{6.5946, 1.5946}, {33.4054, 28.4054}}

 Graphics[{
           White, EdgeForm[Thick],
           Rectangle @@ frmXY,
           Red, PointSize[.04],
           Point@cog,
           Black, Disk @@@ (lesDisques /. {a_, b_, c_} :> {{a, b}, c})},
           ImageSize -> 600]

enter image description here

Для каждого из 8 дисков,

я хотел бы вычислить минимальное расстояние между его краем и:

-краем каждого другого диска (7 значений) -Каждый угол рамки {4 значения},

Тогда я получил бы 8 списков по 11 значений.

Следующее позволяет мне "точечно" определить периметр диска :

 pointize[{{x_,y_},r_},size_:12]:=Table[{x+r Cos[i ((2\[Pi])/size)],
                                  y+r Sin[i ((2\[Pi])/size)]},{i,0,size}]

С помощью этого я мог бы найти 2 ближайшие точки для двух дисков и вычислить расстояние de, но я чувствую, что это, возможно, не правильный способ сделать это.

6
задан 500 26 November 2011 в 14:13
поделиться