C#之自定义Vector3
来源:互联网 发布:jquery json转url参数 编辑:程序博客网 时间:2024/05/16 14:39
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ShaderDemo{ public class Vector3 { public int x; public int y; public int z; public Vector3(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } public static Vector3 operator -(Vector3 A, Vector3 vtarger) { Vector3 v3 = Zero(); v3.x = A.x - vtarger.x; v3.y = A.y - vtarger.y; v3.z = A.z = vtarger.z; return v3; } public static Vector3 operator +(Vector3 vtarger) { Vector3 v3 = Zero(); //v3.x = x + vtarger.x; //v3.y = this.y + vtarger.y; //v3.z = this.z = vtarger.z; return v3; } public static Vector3 operator *(Vector3 A, Vector3 B) { Vector3 v3 = Zero(); v3.x = A.x + B.x; v3.y = A.y + B.y; v3.z = A.z + B.z; return v3; } /// <summary> /// a = [a1,a2,a3] b = [b1,b2,b3] axb=[a2b3-a3b2,a3b1-a1b3,a1b2-a2b1]差乘 /// </summary> /// <param name="vtarger"></param> /// <returns></returns> public Vector3 Cross(Vector3 vtarger) { Vector3 v3 = Zero(); v3.x = this.y * vtarger.z - this.z * vtarger.y; v3.y = this.z * vtarger.x - this.x * vtarger.z; v3.z = this.x * vtarger.y - this.y * vtarger.x; return v3; } /// <summary> /// 点积 /// </summary> /// <param name="vtarger"></param> /// <returns></returns> public float Dot(Vector3 vtarger) { return this.x * vtarger.x + this.y * vtarger.y + this.z * vtarger.z; } public static Vector3 Zero() { Vector3 v3 = new Vector3(0, 0, 0); return v3; } public static Vector3 One() { Vector3 v3 = new Vector3(1, 1, 1); return v3; } }}
1 0
- C#之自定义Vector3
- C# struct and Unity3d Vector3
- Vector3
- Vector3
- Vector3
- Vector3
- Vector3
- Unity之Vector3D:重现Vector3
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- unity3D 之Vector3.Dot和Vector3.Cross的使用
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- Unity3D之Vector3.Dot和Vector3.Cross采用
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- Unity3d之Vector3 学习与应用
- Unity之EditorGUILayout-Vector2、Vector3、Vector4-八
- textField 电话号码
- String类和StringBuffer类的区别
- Spark RDD API详解(一) Map和Reduce
- oracle 12c:新特性-WITH语句的改善
- Objective-C动画二:Layer动画
- C#之自定义Vector3
- 标准C++中的string类的用法总结
- Qt之添加Windows资源文件(.rc文件)
- css--活动问题
- namenode不存在
- oracle 12c:新特性-扩展数据类型
- CentOS Linux下用Nginx和Naxsi搭建Web应用防火墙
- php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
- ArcGIS教程:数据框格网快速浏览