C# : 判断两个的单位法向量的方法是同向还是反向

如题目所示,今天讲的是如何判断两个单位法向量是同向还是反向。首先我写出已知的法向量double[] normalvector={1,0,0};和 double[] normalvector1={-1,0,0};这是已知条件。

下面我将用数学的方法来判断这两个单位法向量之间的关系。

数学方法的公式为a*a1+b*b1+c*c1>0为同向,

数学方法的公式为a*a1+b*b1+c*c1<0为反向,

下面上两种判别的代码:

同向:

double[] normalvector = new double[3];

normalvector[0] = 1;

normalvector[1] = 0;

normalvector[2] = 0;

double[] normalvector1 = new double[3];

normalvector1[0] = 1;

normalvector1[1] = 0;

normalvector1[2] = 0;

if (((normalvector[0] * normalvector1[0]) + (normalvector[1] * normalvector1[1]) + (normalvector[2] * normalvector1[2])) > 0)

{

MessageBox.Show("两个单位法向量为同向", "提示");

}

if (((normalvector[0] * normalvector1[0]) + (normalvector[1] * normalvector1[1]) + (normalvector[2] * normalvector1[2])) < 0)

{

MessageBox.Show("两个单位法向量为反向", "提示");

}

反向:

double[] normalvector = new double[3];

normalvector[0] = 1;

normalvector[1] = 0;

normalvector[2] = 0;

double[] normalvector1 = new double[3];

normalvector1[0] = -1;

normalvector1[1] = 0;

normalvector1[2] = 0;

if(((normalvector[0]* normalvector1[0])+ (normalvector[1]* normalvector1[1])+ (normalvector[2]*normalvector1[2]))<0)

{

MessageBox.Show("两个单位法向量为反向","提示");

}

if (((normalvector[0] * normalvector1[0]) + (normalvector[1] * normalvector1[1]) + (normalvector[2] * normalvector1[2])) > 0)

{

MessageBox.Show("两个单位法向量为同向", "提示");

}

两种运行效果如下所示:

同向:

反向:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵桑さん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值