Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是互联网上所有的跨产品代码的例子都错了,还是我错了?_Java_C_Math_Vector_Vectormath - Fatal编程技术网

Java 是互联网上所有的跨产品代码的例子都错了,还是我错了?

Java 是互联网上所有的跨产品代码的例子都错了,还是我错了?,java,c,math,vector,vectormath,Java,C,Math,Vector,Vectormath,背景:我正在用fanuc宏b为带有触控探针的加工中心编写一些代码,但我想这有点无关。。。不管怎样,我现在正在写一个小程序,在一个表面上进行3次接触,并输出一个单位法向量 在开始之前,我在其他编程语言中搜索了一些向量叉积的例子,当然,我找到了很多。我感到困惑的是,我发现的例子中没有一个否定y(或j)项。。这是我在网上以各种形式发现的: x=Ay*Bz-By*Az y=Az*Bx-Bz*Ax z=Ax*By-Bx*Ay 我错过什么了吗?我想应该是这样的: x=Ay*Bz-By*Az y=-1*(Az

背景:我正在用fanuc宏b为带有触控探针的加工中心编写一些代码,但我想这有点无关。。。不管怎样,我现在正在写一个小程序,在一个表面上进行3次接触,并输出一个单位法向量

在开始之前,我在其他编程语言中搜索了一些向量叉积的例子,当然,我找到了很多。我感到困惑的是,我发现的例子中没有一个否定y(或j)项。。这是我在网上以各种形式发现的:

x=Ay*Bz-By*Az

y=Az*Bx-Bz*Ax

z=Ax*By-Bx*Ay

我错过什么了吗?我想应该是这样的:

x=Ay*Bz-By*Az

y=-1*(Az*Bx-Bz*Ax)

z=Ax*By-Bx*Ay

我的意思是我觉得我一定是错了,因为整个互联网很少出错。。但在纸面上,只有当我按自己的方式做的时候,它才会起作用


提前谢谢。

嗯,我认为问题在于你阅读示例的方式。让我们看看。我发现:


你只需写第二行:
s2=-1*(a1*b3-a3*b1)
这是完全相同的东西…

你说的“在纸上,只有我按自己的方式做才行”是什么意思?通常的计算方法就像第一个版本,你是如何得出第二个的?这取决于你使用的是右手坐标系还是左手坐标系。顺便说一句,第一个形式不仅在网络上提到过,在很多数学和物理书籍中也有提到。谢谢各位,下面的答案帮助我理解了。我知道我错了,但看不到标准公式和辅助因子方法之间的逆转。我不确定我是否可以或者应该删除这篇文章,或者它是否应该出于羞愧的目的而保留下来。
s1 = a2*b3 - a3*b2
s2 = a3*b1 - a1*b3
s3 = a1*b2 - a2*b2