ich habe mal vor einiger Zeit für eine Mathe-GFS eine Funktion geschrieben, die eine Parameterdartellung einer Ebene in eine Koordinatenform umwandelt. Dabei ist wohl so ziemlich der unverständlichste/verrückteste/schlechteste Code, den ich jemals programmiert habe, herausgekommen.
Jetzt wollte ich mal wissen was ihr so verbrochen habt oder hattet ihr schon von Anfang an einen guten Programmierstil?
Hier der Code
Code: Alles auswählen
function make_koor(&$vector1, &$vector2, &$vector3)
{
$para = make_para($vector1, $vector2, $vector3);
$matrix1 = array("r" => $para[3], "s" => $para[6], "x1" => 1, "x2" => 0, "x3" => 0, q => -$para[0]);
$matrix2 = array("r" => $para[4], "s" => $para[7], "x1" => 0, "x2" => 1, "x3" => 0, q => -$para[1]);
$matrix3 = array("r" => $para[5], "s" => $para[8], "x1" => 0, "x2" => 0, "x3" => 1, q => -$para[2]);
$bmatrix1 = $matrix1;
$bmatrix2 = $matrix2;
$bmatrix3 = $matrix3;
array_walk($bmatrix1, 'prod', $matrix2[r]);
array_walk($bmatrix2, 'prod', (-1)*$matrix1[r]);
$bmatrix2 = array("r" => $bmatrix1[r]+$bmatrix2[r], "s" => $bmatrix2[s] + $bmatrix1[s], "x1" => $bmatrix2[x1] + $bmatrix1[x1], "x2" => $bmatrix2[x2] +
$bmatrix1[x2], "x3" => $bmatrix2[x3] + $bmatrix1[x3], "q" => $bmatrix2[q] + $bmatrix1[q]);
$bmatrix1 = $matrix1;
$bmatrix3 = $matrix3;
array_walk($bmatrix1, 'prod', $matrix3[r]);
array_walk($bmatrix3, 'prod', (-1)*$matrix1[r]);
$bmatrix3 = array("r" => $bmatrix1[r]+$bmatrix3[r], "s" => $bmatrix3[s] + $bmatrix1[s], "x1" => $bmatrix3[x1] + $bmatrix1[x1], "x2" => $bmatrix3[x2] +
$bmatrix1[x2], "x3" => $bmatrix3[x3] + $bmatrix1[x3], "q" => $bmatrix3[q] + $bmatrix1[q]);
$_bmatrix2 = $bmatrix2;
array_walk($bmatrix2, 'prod', $bmatrix3[s]);
array_walk($bmatrix3, 'prod', (-1)*$_bmatrix2[s]);
$bmatrix3 = array("r" => $bmatrix2[r]+$bmatrix3[r], "s" => $bmatrix3[s] + $bmatrix2[s], "x1" => $bmatrix3[x1] + $bmatrix2[x1], "x2" => $bmatrix3[x2] +
$bmatrix2[x2], "x3" => $bmatrix3[x3] + $bmatrix2[x3], "q" => $bmatrix3[q] + $bmatrix2[q]);
array_walk($bmatrix3, 'prod', -1);
return($bmatrix3);
}