FunctionRect




For i = 1 To n
If Abs(x(0)-x(i)) < (dx(0)+dx(i))/2 And Abs(y(0)-y(i)) < (dy(0)+dy(i))/2=
Then
MsgBox ("Il rettangolo di riferimento =E8 sovrapposto al rettangolo" + Str(i))
End If
Next i

'ovvero:

'se la distanza assoluta tra i centri dei due rettangoli

'sull'asse x e' minore della somma delle semilarghezze dei

'rettangoli e quella sull'asse y e' minore delle semialtezze

'allora i rettangoli sono sovrapposti.

Partendo dal presupposto che:
1) il sistema di cordinate del contenitore abbia origine in basso a
destra (se cosi' non fosse e' facile normalizzarlo)
2) siano conosciute le cordinate del centro di tutti i rettangoli
3) siano conosciute le lunghezze dei due lati di tutti i rettangoli
siano:
x(0),y(0) coordinate del centro del rettangolo di riferimento
(quello che hai spostato)
x(1),y(1) .. x(n),y(n) coordinate del centro degli n altri rettangoli
dx(0), dy(0) lunghezza lati rettangolo di riferimento
dx(1) .. dx(n), dy(1) .. dy(n) lunghezza lati altri rettangoli











( functionrect.html )- by Paolo Puglisi - Modifica del 17/12/2023