はあなたのペインには、私たちは「私たちは、これらを選んだ2つの基底ベクトルとペインのためのゼロ点
基本ベクトル
を必要とする座標変換のために法線ベクトル
n=(xn,yn,zn)
によって定義されますx/yペインにフィッティングすることができます(後でエッジケースを参照してください)。
b1=(1,0,zb1)
b2=(0,1,zb2)
そして、我々は
(constのスカラーC)
は今、この解決これら二つは本当に
を塩基であることを確認したい:
b1 x b2= (0*zb2-zb1*1,zb1*0-1*zb2,1*1-0*0) = (zb1,zb2,1)
zb1*c=xn
zb2*c=yn
1*c=zn
c=zn,
zb2=yn/c=yn/zn
zb1=xn/c=xn/zn
b1=(1,0,yn/zn)
b2=(0,1,xn/zn)
をし、それを
bv1=(1,0,yn/zn)*sqrt(1+(yn/zn*yn/zn))
bv2=(0,1,yn/zn)*sqrt(1+(xn/zn*xn/zn))
を正規化
このケースでは法線ベクトルはx/yペインに平行であり、自然な基底ベクトルは存在しません。この場合、エステティックPOVで基底b1とb2ベクトルを選択し、同じソリューションプロセスか、単にbv1とbv2を選択してください。
ゼロポイント
あなたはOQであなたのペインにはアンカーポイントの話を聞いたが、並列ペインの無限の家族からあなたのウィンドウを区別する必要があります。そうでない場合、私はあなたが(XAのアンカーポイントを持っていると仮定し、あなたのアンカーポイントがある場合
は、(0,0,0)が、これは座標変換のための完璧なアンカーポイントであり、あなたのペインには、
x*xn+y*yn+z*zn=0,
(y0,y0,z0)=(0,0,0)
を持っています、ya、za)、ペインは
x*xn+y*yn+z*zn=d
とd constスカラーを持っています。
x*xn+y*yn+z*zn=d
に対してこれを解決
(x0, y0, z0) = c * (xn,yn,zn)
と
P0=(x0,y0,z0)
:自然に適合されたがペイン上に元のゼロ点の通常の投影によって定義され、ウィンドウのポイントであろう
は
c*xn*xn+c*yn*yn+c*zn*zn=d
と
c=d/(xn*xn+yn*yn+zn*zn)
従って
P0=(x0,y0,z0)=c*(xn,yn,zn)
が発見されました。
最終的な変換が
新しい座標である
P0+x'*bv1+y'*bv2
xは
「とY」としてあなたペインのすべてのポイント(表示したい、すなわち、これらの点を)表すことによって達成されます。私たちはP0、bv1、bv2を知っているので、これはかなり簡単です。エッジケースではない場合、bv1.yとbv2.xにはゼロがあり、さらに問題が軽減されます。
x 'とy'は、あなたが望む新しい座標です。
私はあなたがしたいことは、ペイン(断面)から別の(x、y)への投影か、または座標変換のいずれかであると思われます。 –
現在、私は3D座標系で3D点(x、y、z)(実際には(x、y、z、1))のセットを持っています。 XY平面のマッチ(x、y、z)の(x '、y')のような2D点(x '、y')のセット(よく、実際には(x '、y'、1) )を、法線ベクトルによって与えられる3D平面内に置く。これまでのところ、ベクトルで与えられた平面を回転させることができれば、私はその点を次のように投影することができたと考えました。(x、y、z、1) - >(x、y、1) – stollgrin
@EugenRieck Hey Eugen、あなたの言うことは、 "あなたの断面(あなたの断面)から別のもの(x、y)への投影か、またはある座標変換から別の座標変換への変換"の違いです。 – user1084113