transformation相关内容

在 3D 中组合多个旋转矩阵

我已经计算了每个轴的轴角旋转.如果我只应用三种旋转中的一种,则对象会按预期旋转. 如果我将旋转矩阵相乘,就像您通常在组合旋转时所做的那样,我不会得到想要的结果,因为第一次旋转会影响其他旋转,因此最终结果不是我想要的. 我想将每个旋转应用到对象上,就好像它以前没有旋转过一样. 我想这是一项简单的任务,但似乎我没有搜索正确的关键字.(还有标题不完美...(开放征求意见)) 感谢 ..
发布时间:2021-11-25 03:29:31 C#

3D 图形/OpenGL 中的模型矩阵

我正在学习 openGL 的一些教程(来自 www.opengl-tutorial.org,如果它有任何不同),并且有一个练习要求我在屏幕上绘制一个立方体和一个三角形,它说提示我应该计算两个 MVP 矩阵,每个对象一个.MVP 矩阵由 Projection*View*Model 给出,据我所知,屏幕上所有对象的投影和视图矩阵都是相同的(它们仅受我选择的“相机"位置和设置的影响).但是,模型矩阵应该 ..
发布时间:2021-11-25 03:21:59 C#

mayavi - 以编程方式设置图像的 [x,y,z] 范围

我有一些包含多个 2D 图像的数据,我想使用 mayavi2 (v4.3.0) 在相对于彼此的特定 [x,y,z] 位置呈现这些数据.> 从文档看来我应该能够用 mlab.imshow() 做到这一点.不幸的是,当我调用 imshow 并指定 extent 参数(AttributeError: 'ImageActor' object has no attribute 'actor')时,maya ..
发布时间:2021-11-25 02:50:54 Python

如何将多个对象分组以将它们作为一个单元旋转?

我需要一些有关在 OpenGL 中执行旋转任务的最佳方法的指示.我知道如何使用四元数在 3D 空间中旋转对象,我可以很好地翻译它们. 但我想知道将不同对象的集合视为单个实体以进行旋转的最佳方法.例如,假设您有一张桌子,上面放着物品.每个都有自己的平移和旋转,但现在我想旋转整个桌子和上面的所有东西,同时保持房间里的其他物体到位.这意味着桌子外边缘的物体将旋转并围绕桌子中心平移,而中心的物体可能 ..
发布时间:2021-11-25 02:34:17 C#

这些函数是列优先还是行优先?

我正在使用矩阵比较用于 3D 图形的两个不同的线性数学库.以下是来自两个库的两个相似的 Translate 函数: 静态Matrix4翻译(T x, T y, T z){矩阵4米;m.x.x = 1;m.x.y = 0;m.x.z = 0;m.x.w = 0;m.y.x = 0;yy = 1;m.y.z = 0;m.y.w = 0;m.z.x = 0;m.z.y = 0;m.z.z = 1;m. ..
发布时间:2021-11-25 01:46:35 C#

如何使用python执行坐标仿射变换?第2部分

我遇到了与此处描述的相同的问题:如何使用python进行坐标仿射变换? 我试图使用描述的方法,但由于某种原因我会收到错误消息.我对代码所做的更改是替换主系统和辅助系统点.我使用不同的原点创建了二级坐标点.在我正在研究这个主题的实际情况下,测量坐标时会出现一些错误. primary_system1 = (40.0, 1160.0, 0.0)primary_system2 = (40.0, 4 ..
发布时间:2021-11-25 01:23:30 Python

如何构建透视投影矩阵(无 API)

我开发了一个简单的 3D 引擎(不使用任何 API),成功地将我的场景转换到世界和视图空间,但在使用透视投影矩阵(OpenGL 样式)投影我的场景(从视图空间)时遇到了麻烦.我不确定 fov、near 和 far 值,而且我得到的场景是扭曲的.我希望如果有人可以指导我如何使用示例代码正确构建和使用透视投影矩阵.在此先感谢您的帮助. 矩阵构建: double f = 1/Math.Tan(f ..
发布时间:2021-11-25 01:19:11 C#

3D 广告牌精灵背后的数学原理是什么?(原为:3D 变换矩阵到 2D 矩阵)

我在空间中有一个 3D 点.点的确切方向/位置通过 4x4 变换矩阵表示. 我想画一个广告牌(3D Sprite)这点.我知道该点的投影位置(即 3D->2D);广告牌正对着相机,所以这也很有帮助.我不知道广告牌应该具有的缩放比例! 为了让事情变得更复杂,4x4 矩阵可能有各种变换:3D 旋转、3D 缩放、3D 转置.假设相机尽可能简单:定位在 (0,0,0),不旋转. 那么,我 ..
发布时间:2021-11-25 00:59:26 C#

没有欧拉角的四元数旋转

在此评论中,强烈建议我们永远不要使用欧拉角.我知道欧拉角有一些限制,最明显的是万向节锁,但我想知道最好的技术,或一组技术,在没有欧拉角的情况下通常使用什么? 关于这个主题的大多数讨论都涉及从欧拉角转换为四元数,这是一件很简单的事情.但我读过的关于在没有欧拉角的情况下进行旋转的唯一方法是从两个向量创建四元数,如 Stan Melax 在“Game Programming Gems"中的文章“T ..
发布时间:2021-11-25 00:58:59 C#

如何在 JavaFX 屏幕上的固定位置设置轴(三重轴)?

如何在 JavaFX 中在屏幕上的固定位置设置轴(triad)?我目前正在开发一个应用程序,我想在我的屏幕上的固定位置(即左下角)显示轴(三元组).我希望轴的旋转应该与主要对象同步.缩放和平移操作不应应用于轴. 但是我在屏幕上的特定位置显示轴时遇到了一些困难. 我使用了 screenToLocal 方法来获取场景中的固定位置,但它只返回 Point2D 对象,这对设置 3D 转换值没有 ..
发布时间:2021-11-25 00:50:40 Java开发

CanvasRenderingContext2D 翻转变换

我找到了这个 CanvasRenderingContext2D 并且我玩了一会儿一点点.我能够使用以下上下文缩放和旋转我的图像: crop: function () {var canvas = document.createElement("canvas");var context = canvas.getContext("2d");canvas.width = this.options.wid ..
发布时间:2021-11-24 22:24:56 C#

Box2D 中一米是多少像素?

问题很简单,没有代码!如果有人知道 Box2D 和 SDL2,那么请告诉我如何用 b2body 包装 SDL_Rect.当然,它需要知道米与像素的转换,反之亦然.这是因为 Box2D 以米为单位测量距离.你能给我一个简单的表达式或函数来将米(Box2D 的)转换为像素或像素转换为米(Box2D 的)吗? 解决方案 你能给我一个简单的表达式或函数来将米(Box2D的)转换为像素或像素到米 ..
发布时间:2021-11-24 21:37:53 C#

numpy 数组的边界框

假设您有一个 2D numpy 数组,其中包含一些随机值和周围的零. 示例“倾斜矩形": 将 numpy 导入为 np从 skimage 导入转换img1 = np.zeros((100,100))img1[25:75,25:75] = 1.img2 = transform.rotate(img1, 45) 现在我想为所有非零数据找到最小的边界矩形.例如: a = np.where(i ..
发布时间:2021-11-18 03:56:53 Python

将集合转换为数组的最简单方法?

假设我们有一个 Collection.将其转换为 Foo[] 的最佳(在当前上下文中是 LoC 中最短的)方法是什么?允许使用任何知名库. UPD:(本节还有一个案例;如果您认为值得为它创建另一个线程,请留下评论):如何将 Collection 转换为 Bar[] 其中 Bar 具有带有 1 个 Foo 类型参数的构造函数,即 public Bar(Foo foo){ ... } ? ..
发布时间:2021-11-18 01:58:12 Java开发

如何使用 3x3 旋转矩阵和平移向量应用变换?

我正在使用 ARCore 进行增强现实项目.每次启动应用程序时,ARCore 的坐标系都会发生变化,以初始位置为原点.我在另一个坐标系中有 5 个点,我可以使用 ARCore 增强图像在 Unity 世界空间中找到其中 4 个位置.当然,这些点在我的其他坐标系中具有不同的值.我必须使用其在其他坐标系中的位置在 Unity 世界空间中找到第 5 个点的位置. 我已按照此教程来实现此目的.但由于 ..
发布时间:2021-11-17 03:30:55 其他开发

使用 Alloy API 生成与模型实例对应的 .als 文件

假设我有以下模型: 信号计数器{值:整数,}{价值 >0值 我想生成与此模型的两个实例对应的 als 文件: 打开计数器一个 sig counter_1 扩展计数器{}{ value=1 }事实 { 计数器 = {counter_1}} 和, 打开计数器一个 sig counter_2 扩展计数器{}{ value=2 }事实 { 计数器 = {counter_2}} 我已经使用 Al ..
发布时间:2021-11-15 04:35:06 其他开发

Spark Transformation - 为什么它是懒惰的,有什么好处?

Spark Transformations 是惰性求值的 - 当我们调用 action 时,它会执行基于谱系图的所有转换. 延迟评估转换有什么好处? 与急切评估相比,它是否会提高性能和更少的内存消耗? 延迟评估 Transformation 有什么缺点吗? 解决方案 对于转换,Spark 将它们添加到计算的 DAG 中,并且只有当驱动程序请求某些数据时,这个 DAG 才会 ..
发布时间:2021-11-12 05:30:01 其他开发

速度模板引擎 - 键值映射

我在使用键值映射到 Velocity 时遇到了一些问题. 有人有这个功能的例子吗? $myMap ={}$myMap.put("mykey1", "myvalue")$myMap.delete("mykey1")$myMap.getValue("mykey1") 解决方案 正如 Nathan 所说,你应该使用: #set ($myMap = {}) 创建一个新地图并将其分配给一个变 ..
发布时间:2021-11-11 05:28:52 服务器开发