首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

求空间向量的垂直向量解决思路

2012-03-12 
求空间向量的垂直向量已知一个空间向量, (x, y ,z),求出一个与(x, y, z) 垂直的空间向量 (a, b, c)请教各

求空间向量的垂直向量
已知一个空间向量, (x, y ,z), 

求出一个与(x, y, z) 垂直的空间向量 (a, b, c)

请教各位, 谢谢!

[解决办法]
int a[10];// 存放一个向量
int b[10];//存放另一个向量
for(int i=0; i <lenofver; i++)//lenofver向量长度
if(a[i]) break;
if(i==lenofver)
{
printf( "任一个向量都于所求向量垂直 ");
return ;
}

for(int j=0; j <lenofver; j++)
{
if(i!=j) b[j]=1;
}

int sum=0;

for(int k=0; k <lenofver; k++)
{
if(i!=k) sum += a[k]*b[k];
}
b[i] = -sum/a[i];


大体如此,变量类型可能要改变一些。

思路如下:
1.在第一个向量中找到一个不为0的数a[i],如果全为0,则这个向量为0向量,作何其它一个向量都和其垂直。
2.令b中除了b[i]外全置为1(这个数可以变).b[i]=0;
3.求出sum = a*b;i是a 中的一个不为0的数的下标
4.b[i]=-sum/a[i];
[解决办法]
>和一个向量垂直的向量是有无数个的,一个向量无法确定和他垂直的向量。这从数学的理论上就不可能,更何况用编程实现
乃鸡冻了。lz没说找出所有。只说求出一个。

热点排行