问题标签 [matrix-transform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
128 浏览

opengl - glm::translate() 如何计算最终矩阵?

我不清楚 glm::translate() 的过程。

有什么区别

?

0 投票
0 回答
80 浏览

wpf - WPF 将图像 MatrixTransform 应用到源

假设我有 WPF Image 控件,带有底层 BitmapSource。使用 MatrixTransform(缩放和平移)将几个变换应用于图像。有什么方法可以将这些转换应用于原始图像,然后将其保存为屏幕上的样子?

问题是我不能只是“截图”图像并导出,因为质量会丢失。所以我认为我可以将这些转换应用于原始图像,但尺寸更大,这样可以保留质量。

不幸的是,我不知道我是否在任何正确的轨道上,所以任何帮助将不胜感激。

0 投票
0 回答
337 浏览

c# - 使用 GDI+ 矩阵变换对 GraphicsPath 进行动态缩放

我正在尝试在 GraphicsPath 上实现动态缩放,用户在其中绘制一个矩形来定义缩放区域(请参阅下面代码中的 selectRect)。当用户释放鼠标时,GraphicsPath 被缩放并(通过矩阵)平移到正确的位置,以在“drawArea”定义的矩形中显示缩放区域。

目的是允许用户动态放大多次。

下面用于计算比例和平移值的代码在用户第一次缩放时完美运行。但是,任何后续缩放都不会产生预期的结果。

ConvertScreenToWorld()

绘图代码:(注意目的是保留原始路径数据,这就是我使用克隆的原因)

任何有关如何使其与累积缩放一起使用的建议将不胜感激。

0 投票
1 回答
877 浏览

c - C中的矩阵转置

假设我定义了一个矩阵并按以下方式分配值:

如何计算该矩阵的转置?我尝试了以下方法,但结果矩阵不正确。

0 投票
1 回答
1009 浏览

wpf - 当图像未与 xy 轴对齐时概括 ScaleTransform (WPF)

我的线性代数很弱。WPF 是一个很棒的系统,用于在图像上呈现不同的转换。但是,标准 ScaleTransform 只会沿 xy 轴缩放图像。当边缘第一次旋转时,应用 ScaleTransform 的结果将导致倾斜变换(如下所示),因为边缘不再对齐。

因此,如果我的图像经过了几次不同的变换,结果由 WPF 渲染系统显示,我如何计算正确的矩阵变换以获取(最终旋转的图像)并沿渲染图像的轴缩放? 在此处输入图像描述

任何帮助或建议将不胜感激。

TIA

(完整代码请看我之前的问题。)

编辑#1:要查看上述效果:

  1. 将图像拖放到 Inkcavas 上。- 没有看到歪斜。
  2. 逆时针旋转图像(大约 45 度)——看不到歪斜。
  3. 使图像更大(大约是其预缩放尺寸的两倍——看不到歪斜。
  4. 顺时针旋转图像(大约回到它开始的位置)——在旋转期间和之后立即看到倾斜。

如果跳过第 3 步,简单的旋转——无论完成多少次——都不会导致倾斜效果。其实,这是有道理的。ScaleTransform 保留从中心到图像边缘的距离。如果图像处于某个角度,则与变换边缘的 xy 距离在渲染图像的宽度和长度上不再是恒定的。所以边缘得到适当的缩放,但角度发生了变化。

这是最相关的代码:

注意:image.RenderTransformOrigin = new Point(0.5, 0.5) 设置为渲染图像的中心。所有变换都将基于变换时图像的中心。

注意:我将每个新转换添加到子列表的第一个。这使得对图像的计算更容易。

0 投票
2 回答
762 浏览

python - 使用 Python 在 Maya 中旋转父级后计算父级控制器的新位置

我正在创建代码以根据它在 Maya 中的关键帧位置创建控制器的运动路径。我在尝试使用此代码创建父控制器的运动路径时遇到了问题。如果我旋转并平移父级,则生成的运动路径不会反映实际的运动路径。相反,它会创建运动路径,就好像它不受父级影响一样。我环顾四周,找到了使用矩阵变换将旋转应用于当前位置的信息,但它似乎旋转得太多了。我已经包含了创建运动路径的函数,它有点长,但是在处理上躯干控制器时,不工作的部分在 else 语句中。

旧代码

代码的问题是我冻结了控制器上的转换,将世界空间中的枢轴设置为 (0,0,0)。解决此问题的最佳方法是创建一个临时定位器并让它跟随控制器。使用临时定位器的位置来创建控制器的运动路径。创建后删除临时定位器。

新代码

这是生成的运动路径的样子 在此处输入图像描述

以下是正确的弧线应该遵循的内容 在此处输入图像描述

这是基于新代码的新曲线。它似乎沿着运动路径跟随,但它被压缩了。 在此处输入图像描述

0 投票
1 回答
651 浏览

javascript - 如何从 webGL 立方体的锚点为比例设置关键帧并旋转?

我在 WebGL 中创建了一个多维数据集。我有一个动画,但正在努力让它融合在一起。

完整的代码大约是 150 lns 的代码,所以这里有一个工作示例: Working Plunkr Code

这是动画的视频线框图,我正在努力实现: https ://youtu.be/sZeBm8EM3mw

1 - 动画将锚点设置在立方体的左下角。

2 - 动画从锚点缩放立方体。

3 - 动画将立方体从锚点旋转大约一半。

着色器:(顶点)

(分段)

我正在使用gl-matrix进行矩阵转换

转换将进入 draw fn 并使用 gl-matrix mat4。

0 投票
0 回答
127 浏览

matlab - Matlab中图像水印的氡变换

我想在 Matlab 中用 Radon Transform 做数字图像水印。但我一开始就面临一些问题。假设我取一个矩阵,然后像这样对其执行 Radon 和 Inverse Radon 变换:

这里的矩阵 B 与原始矩阵 A 完全不同。

此外,如果我想在转换矩阵的特定位置嵌入水印,在提取过程中我无法在该位置获得水印。

我需要有关如何使用 Radon 变换嵌入和提取水印的任何帮助。

0 投票
0 回答
326 浏览

c# - 使用 MatrixTransform Translate 居中

我要做的就是myObject在我UserControl使用的方法中间居中,我MatrixTransform用于缩放和旋转。

.xaml

。CS

0 投票
1 回答
476 浏览

matlab - 在 MATLAB 中执行图像翻译的问题

我正在尝试使用 MATLAB 进行图像翻译,但图像根本不动。我的代码是:

当我对旋转仿射矩阵执行相同操作时,它起作用了。为什么这不起作用?

这是我打印两张照片时发生的情况: 在此处输入图像描述