问题标签 [rotation]
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.
geometry - CGAL:给定两条线/向量/方向的旋转变换矩阵
如何通过CGAL中两条线/向量/方向之间的角度生成用于旋转点/其他的变换矩阵?
2D是我需要的。3D是我喜欢的。
c# - c#:在自定义控件中旋转文本
我正在尝试在标签中旋转一些文本。我有一个自定义标签,它允许我控制文本呈现过程。
我遇到的问题是旋转似乎发生在控件的原点周围,即坐标(0,0)。有没有一种方法可以让文本围绕控件的中心而不是 oragin 旋转?
我知道函数“g.RotateTransform()”,因此一种可能的解决方案是旋转文本,然后将其翻译到控件的中心。如果这是管理工作的唯一方法,是否有一种通用的方式可以计算转换以确保文本位于控件的中心?
谢谢
php - 使用 PHP 或 Javascript 旋转 png
我正在尝试旋转基于我数据库中的值(1-360 度)的 png
但是,我将它与 google mapping api 结合使用,如果我使用“header('Content-type: image/png');” 我的地图没有显示,只有图像。
有任何想法吗?
c++ - C++ 中循环移位(旋转)操作的最佳实践
左移和右移运算符(<< 和 >>)在 C++ 中已经可用。但是,我不知道如何执行循环移位或旋转操作。
如何执行“向左旋转”和“向右旋转”等操作?
在这里向右旋转两次
应该导致:
一个例子会很有帮助。
(编者注:如果旋转计数为零,或者编译为不只是单个旋转机器指令,那么在 C 中表达旋转的许多常见方式都会遭受未定义的行为。这个问题的答案应该记录最佳实践。)
javascript - Web:图像旋转和缩放的解决方案
我有一个显示大图像的网页,例如杂志的页面。我无法控制图像大小或方向。图像可能需要用户旋转才能正确定位。
是否有任何允许某人旋转和缩放给定图像的 Javascript 或 Flash 解决方案?理想情况下,我会指定单个图像和显示它时使用的尺寸。如果图像大于这些尺寸,则用户可以放大并更详细地查看图像的一部分。
windows - Windows 中的日志拉取和轮换
有谁知道一个好的商业或开源解决方案,用于将应用程序日志从一堆不同的服务器拉取和轮换到中央服务器,您可以在其中按年/月/日/小时等对它们进行分类......这需要将在 Windows 上工作。
opengl - OpenGL围绕一个点旋转
我想以gluSphere
圆周运动围绕固定点旋转 a,就像行星围绕太阳运行一样。
最好使用 glRotatef 或 glTranslate 吗?如果是这样,我应该按什么顺序打电话给他们?
c# - 在 2D 中将一个点旋转另一个点
我想知道当相对于另一个点旋转一个角度时如何计算一个点的新坐标。
我有一个方块箭头,想将它相对于箭头底部中间的一个点旋转一个角度 theta。
这是允许我在 2 个屏幕控件之间绘制多边形所必需的。我无法使用和旋转图像。
从我目前所考虑的情况来看,更复杂的是,屏幕的原点位于左上角。
wpf - WPF 与网络摄像头集成并旋转视频
这可能吗?
delphi - 如何在代码中有效地旋转位图
有没有比简单地使用倒置坐标进行嵌套循环更快的方法将大位图旋转 90 度或 270 度?
位图为 8bpp,通常为 2048x2400x8bpp
目前我通过简单地复制参数反转来做到这一点,大致(伪代码:
(实际上我用指针来做,速度更快,但幅度大致相同)
GDI 对于大图像非常慢,并且纹理(GF7 卡)的 GPU 加载/存储时间与当前 CPU 时间相同。
任何提示,指针?就地算法甚至会更好,但速度比就地更重要。
目标是德尔福,但它更像是一个算法问题。SSE(2) 向量化没问题,这对我来说在汇编程序中编码已经足够大了
跟进尼尔斯的回答
- 图像 2048x2700 -> 2700x2048
- 编译器 Turbo Explorer 2006 已开启优化。
- Windows:电源方案设置为“始终开启”。(重要!!!!)
- 机器:Core2 6600 (2.4 GHz)
使用旧程序的时间:32 毫秒(第 1 步)
步长为 8 的时间:12ms
步长为 16 的时间:10 毫秒
步长 32+ 的时间:9ms
同时我还在 Athlon 64 X2 (5200+ iirc) 上进行了测试,那里的速度比原来的四倍多一点(80 到 19 毫秒)。
加速是值得的,谢谢。也许在夏天的几个月里,我会用 SSE(2) 版本来折磨自己。但是我已经考虑过如何解决这个问题,我想我会用完 SSE2 寄存器来直接实现:
所以 8x8 需要 9 个寄存器,但 32 位 SSE 只有 8 个。无论如何,这是夏天的事情:-)
请注意,指针的事情是我出于本能而做的,但它实际上可能有一些东西,如果你的尺寸没有硬编码,编译器就不能把 mul 变成一个班次。虽然现在 muls an sich 很便宜,但它们也会产生更多的注册压力 afaik。
代码(通过从“naieve”rotate1 实现中减去结果来验证):
更新 2 泛型
我试图在 Delphi XE 中将此代码更新为泛型版本。我因为 QC 99703 失败了,论坛的人已经确认它也存在于 XE2 中。请投票给它:-)
更新 3 泛型 现在可以在 XE10 中使用
更新 4
在 2017 年,我在8x8 立方体的 8bpp 图像的汇编器版本上做了一些工作,以及关于 shuffle 瓶颈的相关SO 问题,Peter Cordes 慷慨地帮助了我。这段代码仍然有一个错过的机会,并且仍然需要另一个循环平铺级别再次将多个 8x8 块迭代聚合成更大的伪迭代,例如 64x64。现在又是整行了,这很浪费。