问题标签 [cross-product]

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 投票
1 回答
487 浏览

java - 以度为单位计算输入和输出的三角函数

我正在尝试为一些计算作业制作计算器,但信息以度数给出,答案必须以度数为单位。我尝试使用 Math.toDegrees 和 Math.toRadians 但答案不正确。

输入 <0,2,0> 和 <0,5,0> 和角度 = 90 度应该给出 10 的答案。相反它返回:

572.9577951308232

有任何想法吗?

编辑:另外,如果有人有更好/更短的输入组件的方法,那将是惊人的。

0 投票
1 回答
339 浏览

opengl - 在 FreeGLUT (OpenGL) 中计算的法线向内而不是向外绘制

我通过计算顶部和底部圆圈上的点然后连接这些点来使用三角形制作一个圆柱体。我从 (1,1,0) 开始。然后,我计算底部的一个点(通过仅更改 y 轴 -> (1,0,0)),然后计算顶部的下一个点(x = xcosA,z = zsinA,其中 A 是任意角度)和很快。所以,我在逆时针方向跟踪顶部和底部的圆圈。现在,我想为这些三角形绘制法线。

我以三人一组计分。假设它们存储在向量 a、b 和 c 中,其中 a 是第一个点(在顶部),b 是第二个点(在底部),c 是第三个点(在顶部)。根据右手定则,要计算法线,我必须这样做:法线 = (cb) x (ab)。这应该给我一个正常的面朝外。但是,法线被向内绘制。要绘制法线,我只需将 glTranslatef 到三角形的中心,然后画一条从 (0,0,0) 到法线的线。我的计算不正确吗?

0 投票
1 回答
477 浏览

python - Np.cross 产生错误的结果,寻找可行的替代方案

我正在重写分子动力学时间序列的分析代码。由于必须分析大量时间步长(每次模拟运行 150 000 个),因此我的代码尽可能快是非常重要的。

旧代码非常慢(实际上它需要的时间是我的 300 到 500 倍),因为它是为分析几千个 PDB 文件而不是一堆不同的模拟(大约 60 个)而编写的,每个都有150 000 个时间步长。我知道在这种情况下 C 或 Fortran 将是瑞士军刀,但我对 c 的经验是.....

因此,我试图为我的 python 代码使用尽可能多的 numpy/scipy 例程。因为我有使用 mkl 加速分发 anaconda 的许可证,所以这是一个非常显着的加速。

现在我面临一个问题,我希望我能以您理解我的意思的方式解释它。

我有三个数组,每个数组的形状为 (n, 3, 20)。第一行是我的肽的所有残差,通常在 23 到 31 左右。第二行是 xyz 顺序的坐标,第三行是一些特定的时间步长。

现在我正在计算每个时间步的每个残差的扭转。我对于形状为 (n,3,1) 的数组的代码:

现在我尝试对具有扩展第三轴的数组使用相同的代码,但与使用 for 循环的原始慢速代码相比,叉积函数产生了错误的值。我用我的大数组尝试了这段代码,它比 for 循环解决方案快大约 10 到 20 倍,比旧代码快大约 200 倍。

我正在尝试的是 np.cross() 仅计算第二个(xyz)轴上的叉积并迭代其他两个轴。在第三轴较短的情况下,它可以正常工作,但对于大阵列,它仅适用于第一个时间步。我也尝试了轴设置,但我没有机会。

如果这是我的问题的唯一解决方案,我也可以使用 Cython 或 numba。

PS对不起我的英语我希望你能理解一切。

0 投票
1 回答
2362 浏览

relational-algebra - 没有重复的笛卡尔积的关系代数

我有一个关系A:

如果我对自身执行两次叉积,我将得到三元组,例如 (a,b,a)、(a,a,a)、(a,a,b)、(b,c,b) 等.我有兴趣删除所有元组,这样在输出中不会出现多次。

首先,是否有一个关系代数声明?其次,是否可以将这种场景推广到多个交叉产品(即n交叉产品)?

0 投票
2 回答
1143 浏览

hadoop - 猪 - 试图避免交叉

我会参考我之前的问题。基本上我有这两个数据集。并使用场地名称,我想输出每个场地在推文中出现的次数。我得到的答案对小型数据集很有用,但想象一下我有 10000 个场所和 20000 条推文消息,这CROSS将给我与200m 条记录的关系,这是相当多的。

上一个问题中介绍了简单的数据集,我目前使用的 PIG 脚本与答案中的建议相同。我正在寻找如何在没有CROSS产品的情况下进行此计数的想法。谢谢!

推文.csv

场地.csv

0 投票
2 回答
258 浏览

hadoop - hadoop中的交叉产品和阅读标题

我有一些我正在处理的 hadoop 文档相似性项目,但我陷入了某些困境。情况看起来像这样(我有一个存储在 csv 文件中的文档术语索引表

"", t1,t2,t3,t4,....


doc1,f11,f12,f13,f14,....

doc2,f21,f22,f23,f24,....

doc3,f31,f32,f33,f34,....

.

.

.

其中 f12 表示 document1(doc1) 中 term2(t2) 的频率

另一方面,我有一个查询文件,其中包含需要搜索其最近或类似文档的查询

"", t1,t3,t122,t34,....


q1,f11,f12,f13,f14,....

q2,f21,f22,f23,f24,....

q3,f31,f32,f33,f34,....

.

.

. 但是这里的术语可能包含不同的术语,所以我需要找到这两个(术语索引和查询)的叉积,以便找到查询和现有文档之间的距离

问题包含两部分: 首先,考虑到文件将被拆分到不同的机器中,如何读取每个 csv 文件的标题以将它们存储在某个 termvector 中。

第二,如何对这两个文件进行叉积,以找到相似度(创建一个可以包含所有可能术语(维度)的新文档以找到相似度)

我正计划编写一些 K-最近邻算法来查找相似性我应该使用哪些工具或工具,Pig,Hive,Mahout。

0 投票
0 回答
403 浏览

awk - 计算平均平面的法线

我需要使用 >3 点的位置计算平均平面的法线(对于 3 点,我知道如何用叉积来计算)。我的主要问题是它需要一个简单的方法,因为我需要使用 Awk。所以没有矩阵的东西。

我的想法是:

  1. 从一组 4 个点中计算 3 个点的每个可能组合之间的叉积。
  2. 计算平均叉积。

那会给我普通飞机的法线吗?这可能不是一个优雅的方法,但它既简单又快速,Awk 可以做到。

干杯

0 投票
5 回答
63 浏览

r - 比较第一列中指定的组之间的交集

假设我有一个包含三列的数据框:第一列指定特征的数量(例如颜色),第二列指定组,如果该组中存在该特征(1)或该组中缺少该特征,则第三列( 0):

现在我想总结一下有多少特征:1.仅在a组中,仅在b组中以及两组中都有多少。此外,我需要提取两组中存在的特征的名称。我怎样才能做到这一点?我想像这样的功能crossprod可能会有所帮助,但我无法弄清楚。

输出将类似于:

或者:

无论如何,我需要对一个相当大的数据文件有一个更好的概述(原始文件在大约 10 个组中有数百个特征)。

0 投票
2 回答
1633 浏览

r - R中的矩阵乘法,不使用 %*% 或 crossprod

我试图在不使用 %*% 或 crossprod 的情况下将 R 中的两个矩阵相乘。到目前为止我尝试过的

我想在不使用 crossprod 或 %*% 的情况下进行乘法

很长一段时间以来,我完全陷入了这个问题......因此,非常欢迎任何帮助。

0 投票
1 回答
492 浏览

r - R中的自定义tcrossprod函数

我在 R 中的矩阵上使用tcrossprod函数。它对我的数据及其转置进行叉积。即数据%*% t(数据)。

问题是,我不希望单个操作(数据中的行和 t(data) 中的列之间)是乘法运算。是否可以在其中指定我自己的函数,以便实现相同的算法,但它会执行其他操作而不是乘法。

我现在通过遍历矩阵并执行所需的操作来实现相同的结果,但是循环使这种方法变慢。

这是我目前正在做的事情(但将 * 操作替换为其他内容):

任何帮助将非常感激。