Einzelnen Beitrag anzeigen

juniorA

Registriert seit: 14. Sep 2011
112 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#23

AW: Vom Vektor zur Ebene

  Alt 24. Jun 2013, 15:44
dem Ziel schon ganz nahe,
also erst einmal Danke.

Mit der Berechnung von E2 hattest Du Recht, V1 ist ja Differenz und P fehlte.

der Quelltext sieht jetzt wie folgt aus
Delphi-Quellcode:
type Tpoint3D = record
     X : single;
     Y : single;
     Z : single;
     end;


//------------------------------------------------------------------------------
// Bestimmen des 3. Punktes einer Fläche
//------------------------------------------------------------------------------
procedure fl_3Punkte(p, v1, v2 : TPoint3D; var E1, E2, E3 : TPoint3D);
var v3 : TPoint3D;
    k : single;

begin
  k := 1;

  E1 := P;

  E2.x := p.x + v1.x;
  E2.y := p.y + v1.y;
  E2.z := p.z + v1.z;

  v3.x := (v1.y*v2.z) - (v2.y*v1.z);
  v3.y := (v1.z*v2.x) - (v2.z*v1.x);
  v3.z := (v1.x*v2.y) - (v2.x*v1.y);

  E3.x := E2.x + k*v3.x;
  E3.y := E2.y + k*v3.y;
  E3.z := E2.z + k*v3.z;
end;

function set_point3(x, y, z : single) : TPoint3D;
begin
  result.x := x;
  result.y := y;
  result.z := z;
end;


.....
Aufruf fl_3Punkte
  fl_3Punkte(set_point3(10, 0,5), set_point3(-5, 0, -5), set_Point3(-5, 0, 5), E1, E2, E3);

Als Ergebnis bekomme ich
E1 = (10,0,5)
E2 = (5,0,0)
E3 = (5, [COLOR="Red"]50[/COLOR], 0)
wenn ich als Faktor k=1 angegeben habe, hatte ich erwartet, dass E3.y = 5 und nicht 50 ist. Mit k = 0.1 erscheint dort 5. Was hat es mit den Faktor auf sich oder ist noch wo anders etwas vergraben?

Beste Grüße
  Mit Zitat antworten Zitat