如何缩放圆环并保持圆管半径不变?

时间:2011-02-10 05:17:51

标签: matrix linear-algebra graphics

如果我有这样的圆环定义。

u,v are in the interval [0, 2π),
R is the distance from the center of the tube to the center of the torus,
r is the radius of the tube. 

我想放大R并保持r不变,如何使用变换矩阵来实现它,还是可能?

1 个答案:

答案 0 :(得分:0)

您正在寻找的转换不是线性的,因此无法用矩阵表示。

要知道它不是线性的,想象一下环面位于与xy平面平行的原点上。正x轴在两个点处与环面相交;让我们称之为距离原点a更近的一个b

应用转换后,我们希望ab都离开原点相同的数量。但由于ba的倍数,因此这是不可能的:

b = c*a
f(b) - b = f(c*a) - c*a
         = c*f(a) - c*a
         = c*( f(a) - a )

ab相关的同一倍数也与a相比b移动了多远。

即使将圆环投影到平面上,您也会遇到同样的问题。