Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#14

Re: 2 Objekte entfernung berechnen mit dem Mittelpunkt

  Alt 2. Jul 2006, 13:53
Mir ist da noch eine andere lösung eingfallen doch diese hat auch nicht funkioniert und zwar wollte ich folgendes machen:

Zuerst rechne ich den mittelpunk aus, dann
rechne ich mir die größe für x und y aus teile sie durch 2

das mache ich mit allen objekten.
wenn ich fertig bin muss ich normalerweise doch nur noch:
Mittelpunk1-Mittelpunk2-Größe1-Größe2 rechnen doch das klapp leider nich hier mein qullcode:
Delphi-Quellcode:
var
  i:integer;
  sm,sm1:TPoint;
  s1,s2:TPoint;
  m,s:Integer;
begin
  sm.x:=TFigure(obj.Items[selobj]).Style.LastPos.X div 2;
  sm.y:=TFigure(obj.Items[selobj]).Style.LastPos.y div 2;
  S1.X:=(TFigure(obj.Items[selobj]).Style.LastPos.X-TFigure(obj.Items[selobj]).Style.FirstPos.X) div 2;
  S1.Y:=(TFigure(obj.Items[selobj]).Style.LastPos.Y-TFigure(obj.Items[selobj]).Style.FirstPos.Y) div 2;
  // und von einenm anderen objekt

  for i:=0 to obj.count-1 do begin
    if (TFigure(obj.Items[i]).Style.isSel = True) and (i <> SelObj) then begin
      with TFigure(obj.Items[i]).Style do begin
        sm1.x:=LastPos.X div 2; sm1.y:=LastPos.y div 2;
        S2.X:=(LastPos.X-FirstPos.X) div 2;
        S2.Y:=(LastPos.Y-FirstPos.Y) div 2;
      end;

    end;
  end;
// Label2.Caption:=FloatToStr((Sm1.X-sm.X) / 3 )
  m:=sm.X-sm1.X; s:=S1.X+s2.X;
  Label2.Caption:=IntToStr(s-m);
ich werde mir gleich mal eure vorschläge anschauen !!!
Edit:
@TheAn00bis
ungefähr so habe ich es mir auch vorgstellt *G*
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat