T
So nun habe ich endlich die Lösung
Gegeben war also:
Auf einem Dreieck liegt ein Punkt mit den bekannten Koordinaten x_pos, z_pos.
Die Höhe y_pos ist unbekannt.
Das Dreieck hat die Eckpunkte (x1,y1,y2), (x2,y2,z2), (x3,y3,z3).
float ypos, lambda1, lambda2;
if (x2 != x1){
lambda2 = ( (zpos-z1) - (xpos-x1)*(z2-z1)/(x2-x1) )/( (z3-z1) - (x3-x1)*(z2-z1)/(x2-x1) );
ypos = y1 + (y2-y1)/(x2-x1)*(xpos-x1) +( (y3-y1)-(x3-x1)*(y2-y1)/(x2-x1) )*lambda2;
}else{
lambda2 = (xpos-x1)/(x3-x2);
lambda1 = ( (zpos-z1) - (z3-z1)*lambda2 )/(z2-z1);
ypos = y1 + (y2-y1) * lambda1 + (y3-y1)*lambda2;
}
return ypos;
Für alle, die mal auf das selbe Problem stoßen