0

私は線形代数にしか慣れていませんが、作業中のグラフィックス アプリで十字線を作ろうとしています。

I have a point: (x,y,z)

そして、私はそれを要点にしようとしています:

(2/(x+y),(5y+z)/(2x+2y),3)

私は読んでいますが、ポイントに「変換マトリックス」を掛けて、目的のポイントを取得することで実行できます。しかし、これを行う方法がわかりません。

その座標に到達する方法について段階的な手順があるかどうかは誰にもわかりませんか? 最終結果を見ることができれば、それを元に戻すことができます。

4

2 に答える 2

0

線形変換(http://en.wikipedia.org/wiki/Linear_map)のみが行列で表すことができ、変換は線形ではないため、これを直接行うことはできません。できることは、変換を次のように書き直すことです。

(x,y,z,w)->( 2w , 5y/2+z/2 , 3x+3y )

これは現在線形であり、それぞれの変換は次の式で与えられます。

T(x,y,z,w)=[0  0  0  2; 0  5/2  1/2  0; 3  3  0  0]*(x,y,z,w)

ここで、行列は[]の間の数字で示され、各行は「;」で区切られます。ご覧のとおり、必要なポイントを与えない線形変換ができましたが、w = 1で変換を評価し、結果のベクトルの各エントリを(x + y)で除算すると、次のようになります。あなたが達成したい結果があります。つまり、

(2/(x+y),(5y+z)/(2x+2y),3) = 
[1/(x+y)]*[0  0  0  2; 0  5/2  1/2  0; 3  3  0  0]*(x,y,z,w=1)

これがお役に立てば幸いです。

于 2012-10-18T08:38:51.990 に答える
0

同次座標wを追加する必要があります。次に、あなたの方程式は

[x,y,z,w=1] * [4x4] 行列 = [WX,WY,WZ,W], ここで、W ((x+y) である必要があります) で割ると、期待される結果に到達する可能性があります.. .

したがって、次の方程式を表す行列 M を見つける必要があります。

WX = 2, 
WY = 2.5y+0.5z, 
WZ = 3x+3y, 
W  = x+y
于 2012-10-18T07:14:38.297 に答える