gpt4 book ai didi

javascript - 给定一个点和一个平面,当平面缩放而不缩放点时,如何平移点以匹配平面?

转载 作者:行者123 更新时间:2023-11-28 11:51:11 27 4
gpt4 key购买 nike

给定一个平面,其矩阵既可平移又可缩放,我有一个叠加点只能平移但不能缩放,并且必须保持在平面上的同一点上。例如,如果使用以下变换转换平面:

matrix(1,0,0,1,33,33);

我可以恰到好处地匹配它。

但是,如果矩阵看起来像这样:

matrix(1.5,0,0,1.5,33,33);

我不能只匹配它,因为点的大小会缩放。

如何找到一个移动点以匹配平面而不缩放点的平移?抱歉,如果这看起来很明显,我在数学上有点挑战。

最佳答案

一个点没有大小,它只是一个位置。缩放+旋转是坐标之间的变换,因此缩放实际上是对到原点的距离的缩放,而不是对象本身的缩放。对于矩形,这意味着将变换应用于每个 Angular 。对于一个点,这意味着将(整个)变换应用于该点。

是什么让您认为该点会被缩放?

如果您只想应用旋转变换而不是缩放变换,那么假设您的矩阵定义是 CSS 矩阵 ( https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function ),那么列表是 a,b,c,d,tx,ty。旋转给出为

[cos(a) -sin(a) sin(a) cos(a) 0 0]

因此,如果您使用 a,b 对和 c,d 对,您可以通过归一化来自行计算旋转 Angular ,而无需缩放。

关于javascript - 给定一个点和一个平面,当平面缩放而不缩放点时,如何平移点以匹配平面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com