using System;
using System.Collections;
using System.Collections.Generic;/*** 向量的加法和减法运算*/
public class Vector3D
{public float x, y, z;public Vector3D(float x=0f,float y =0f,float z= 0f){this.x = x;this.y = y;this.z = z;}public Vector3D(Vector3D vec){this.x = vec.x;this.y = vec.y;this.z = vec.z;}public Vector3D add(Vector3D vec){Vector3D ret = new Vector3D(x, y, z);ret.x += vec.x;ret.y += vec.y;ret.z += vec.z;return ret;}public Vector3D sub(Vector3D vec){Vector3D ret = new Vector3D(x, y, z);ret.x -= vec.x;ret.y -= vec.y;ret.z -= vec.z;return ret;}//向量规范化(单位化),让向量的长度为1public void normalize(){float lenth = (float)Math.Sqrt(x * x + y * y + z * z);//取模x /= lenth;y /= lenth;z /= lenth;}public override string ToString(){return string.Format("(" + x + "," + y + "," + z + ")");}// 操作符重载public static Vector3D operator + (Vector3D lv,Vector3D rv){return lv.add(rv);}public static Vector3D operator - (Vector3D lv,Vector3D rv){return lv.sub(rv);}}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;/*** 自己写的Vector3D与u3d的Vector3比较验证是否正确*/
public class NewBehaviourScript : MonoBehaviour
{public bool isEqual(Vector3D ov,Vector3 uv){if (ov.x == uv.x && ov.y == uv.y && ov.z == uv.z){return true;}return false;}// Start is called before the first frame updatevoid Start(){Vector3D ov1 = new Vector3D(1.1f, 1.2f, 1.3f) + new Vector3D(1, 2, 3);Vector3 uv1 = new Vector3(1.1f, 1.2f, 1.3f) + new Vector3(1, 2, 3);if (isEqual(ov1, uv1)){Debug.Log("add equal...");}Vector3D ov2 = new Vector3D(1.1f, 1.2f, 1.3f) - new Vector3D(1, 2, 3);Vector3 uv2 = new Vector3(1.1f, 1.2f, 1.3f) - new Vector3(1, 2, 3);if (isEqual(ov1, uv1)){Debug.Log("sub equal...");}ov2.normalize();uv2.Normalize();if (isEqual(ov2, uv2)){Debug.Log("nrm equal...");}}// Update is called once per framevoid Update(){}
}

转载于:https://www.cnblogs.com/fly-book/p/10987955.html

向量的加法和减法运算相关推荐

  1. 两向量点乘坐标运算_高三数学冲刺复习之向量小题的题型总结(含好用的补充公式)...

    高考中,向量小题常从以下几个方面来考查:1.平面向量的有关概念与平面向量的线性运算,主要考查向量的加法.减法运算,考查向量的数乘运算及其几何意义.2.考查平面向量的坐标:主要考查平面向量基本定理及其意 ...

  2. 6.进入线性代数的奇妙世界:向量的减法

    两个向量相减,结果仍然是一个向量.那么在图形上,结果是怎样的一个向量呢?这个结果向量是两个向量组成的平行四边形的另外一条对角线. 向量减法的计算规则就是将两个向量对应维度的值相减.假定 , ,则向量的 ...

  3. 设计一个三维向量类 并实现向量的加法 减法以及乘法除法

    class Vector:def __init__(self,a,b,c): #初始化方法 进行传参self.x=aself.y=bself.z=cdef plus(self,m,n): #定义向量的 ...

  4. 网站SEO优化技巧的“减法运算”

    在网站优化中,优化人员不仅要做好内容.链接等方面的优化,还要尽可能的检查网站的做一些"减法"才能让网站更高质量.高排名.那么在网站SEO优化中,优化人员该掌握哪些"减法运 ...

  5. 计算机中减法英语,计算机中的减法运算

    学习过计算机组成原理的同学可能知道,虽然我们可以让计算机做减法运算,但是计算机内部实际上是在做加法运算.因为加.减.乘.除四则运算都可以分解成加法运算和位移运算,而且计算机也只会处理这两种简单的运算, ...

  6. java使用计算器完成加法、减法运算

    java使用计算器完成加法.减法运算 package demo03;/*** 使用计算器完成加法.减法运算*/ public class Calculator {//成员变量private Strin ...

  7. 减法运算的借位标志cf_数学|有理数运算法则及题型汇总

    宇宙之大,粒子之微,火箭之速,化工之巧,地球之变,生物之谜,日用之繁,无处不用数学. -- 华罗庚 在初中数学中,有理数是在小学原有的数的基础上进行了概念的拓展. 在有理数的学习过程中,很多学生还停留 ...

  8. 深入理解计算机系统(2.5)---二进制整数的加、减法运算(重要)

    2.3我们介绍了无符号编码和补码编码,本次我们来看一下在这两种编码下,整数的运算是如何进行的.看后之余,别忘了"点个推荐哦." 引言 平时的编程过程中,当进行整数运算时,经常会遇到 ...

  9. 计算机进行加法运算的原理,计算机系统原理(九) 二进制整数的加法运算和减法运算...

    引言 平时的编程过程中,当进行整数运算时,经常会遇到一些奇怪的结果,比如两个正数加出负数,两个负数可以加出一个正数,这些都是由于数值表示的有限性导致的.下面我们来看看C语言和Java语言当中的例子. ...

最新文章

  1. weblogic mime-type
  2. wince6.0远程控制工具_【创新创效】门架业务主动监测工具和远程控制电源开关...
  3. 神经风格迁移(Neural Style Transfer)程序实现(Caffe)
  4. BBR在实时音视频领域的应用
  5. jmeter正则表达式提取器多模块相互调用
  6. java调用wcf_详解JAVA调用WCF服务的示例代码
  7. UVa1600 PatrolRobot 巡逻机器人(bfs)
  8. PAT_B_1029 旧键盘
  9. 寻求神谕的词语:谈海日寒诗集《空山集》
  10. C++ 转换构造函数
  11. 口算练习题(洛谷P1957题题解,Java语言描述)
  12. Android7.1添加开机启动服务程序关于Selinux权限问题说明
  13. Html5+Css3小试牛刀
  14. [Python3] 面向对象编程
  15. 高性能计算GPU解决方案系列课程一--高性能计算简介
  16. aforge java_C#调用AForge实现摄像头录像的示例代码
  17. 获取钉钉考勤机的打卡记录并且解析
  18. 如何用手机来拍证件照
  19. Android Service保活方法总结
  20. 热门招聘丨 XTransfer史上最全产品技术岗位公开招聘

热门文章

  1. 小学生python游戏编程arcade----坦克大战2
  2. 2017年9月英语总结
  3. 动作分析在企业生产中具体起到什么作用
  4. 游戏音乐外包是如何制作音乐的?
  5. 如何使用Endnote修改参考文献格式,自定义参考文献样式
  6. 2018HENANACM B治安管理
  7. php mysql 上一页 下一页 分页代码片段
  8. 3·15晚会曝光,浏览网页就能获取手机号,骚扰电话背后的秘密
  9. 数字图像处理——高斯噪声和椒盐噪声区别
  10. 苹果Vision Pro物料成本曝光,3499美金售价原来是这样来的