$pointには0~2までx1→x2、y1→y2という座標点の対応を入れる前提です。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// アフィン変換の未知数 | |
$a = ''; | |
$b = ''; | |
$c = ''; | |
$d = ''; | |
$l = ''; | |
$m = ''; | |
// 連立方程式を解く | |
$a = ($point[0]['x2'] * $point[1]['y1'] + $point[1]['x2'] * $point[2]['y1'] + $point[2]['x2'] * $point[0]['y1'] - $point[0]['x2'] * $point[2]['y1'] - $point[1]['x2'] * $point[0]['y1'] - $point[2]['x2'] * $point[1]['y1']) / ($point[0]['x1'] * $point[1]['y1'] + $point[1]['x1'] * $point[2]['y1'] + $point[2]['x1'] * $point[0]['y1'] - $point[0]['x1'] * $point[2]['y1'] - $point[1]['x1'] * $point[0]['y1'] - $point[2]['x1'] * $point[1]['y1']); | |
$b = ($point[0]['x1'] * $point[1]['x2'] + $point[1]['x1'] * $point[2]['x2'] + $point[2]['x1'] * $point[0]['x2'] - $point[0]['x1'] * $point[2]['x2'] - $point[1]['x1'] * $point[0]['x2'] - $point[2]['x1'] * $point[1]['x2']) / ($point[0]['x1'] * $point[1]['y1'] + $point[1]['x1'] * $point[2]['y1'] + $point[2]['x1'] * $point[0]['y1'] - $point[0]['x1'] * $point[2]['y1'] - $point[1]['x1'] * $point[0]['y1'] - $point[2]['x1'] * $point[1]['y1']); | |
$l = ($point[0]['x1'] * $point[1]['y1'] * $point[2]['x2'] + $point[1]['x1'] * $point[2]['y1'] * $point[0]['x2'] + $point[2]['x1'] * $point[0]['y1'] * $point[1]['x2'] - $point[0]['x1'] * $point[2]['y1'] * $point[1]['x2'] - $point[1]['x1'] * $point[0]['y1'] * $point[2]['x2'] - $point[2]['x1'] * $point[1]['y1'] * $point[0]['x2']) / ($point[0]['x1'] * $point[1]['y1'] + $point[1]['x1'] * $point[2]['y1'] + $point[2]['x1'] * $point[0]['y1'] - $point[0]['x1'] * $point[2]['y1'] - $point[1]['x1'] * $point[0]['y1'] - $point[2]['x1'] * $point[1]['y1']); | |
$c = ($point[0]['y2'] * $point[1]['y1'] + $point[1]['y2'] * $point[2]['y1'] + $point[2]['y2'] * $point[0]['y1'] - $point[0]['y2'] * $point[2]['y1'] - $point[1]['y2'] * $point[0]['y1'] - $point[2]['y2'] * $point[1]['y1']) / ($point[0]['x1'] * $point[1]['y1'] + $point[1]['x1'] * $point[2]['y1'] + $point[2]['x1'] * $point[0]['y1'] - $point[0]['x1'] * $point[2]['y1'] - $point[1]['x1'] * $point[0]['y1'] - $point[2]['x1'] * $point[1]['y1']); | |
$d = ($point[0]['x1'] * $point[1]['y2'] + $point[1]['x1'] * $point[2]['y2'] + $point[2]['x1'] * $point[0]['y2'] - $point[0]['x1'] * $point[2]['y2'] - $point[1]['x1'] * $point[0]['y2'] - $point[2]['x1'] * $point[1]['y2']) / ($point[0]['x1'] * $point[1]['y1'] + $point[1]['x1'] * $point[2]['y1'] + $point[2]['x1'] * $point[0]['y1'] - $point[0]['x1'] * $point[2]['y1'] - $point[1]['x1'] * $point[0]['y1'] - $point[2]['x1'] * $point[1]['y1']); | |
$m = ($point[0]['x1'] * $point[1]['y1'] * $point[2]['y2'] + $point[1]['x1'] * $point[2]['y1'] * $point[0]['y2'] + $point[2]['x1'] * $point[0]['y1'] * $point[1]['y2'] - $point[0]['x1'] * $point[2]['y1'] * $point[1]['y2'] - $point[1]['x1'] * $point[0]['y1'] * $point[2]['y2'] - $point[2]['x1'] * $point[1]['y1'] * $point[0]['y2']) / ($point[0]['x1'] * $point[1]['y1'] + $point[1]['x1'] * $point[2]['y1'] + $point[2]['x1'] * $point[0]['y1'] - $point[0]['x1'] * $point[2]['y1'] - $point[1]['x1'] * $point[0]['y1'] - $point[2]['x1'] * $point[1]['y1']); |
0 件のコメント:
コメントを投稿