コード例 #1
0
        public static DVector CatmullRom(double t, DVector p0, DVector p1, DVector p2, DVector p3)
        {
            DVector a = 0.5 * (2f * p1);
            DVector b = 0.5 * (p2 - p0);
            DVector c = 0.5 * (2 * p0 - 5 * p1 + 4 * p2 - p3);
            DVector d = 0.5 * (3f * p1 - 3 * p2 + p3 - p0);

            DVector pos = a + (b * t) + (c * t * t) + (d * t * t * t);

            return(pos);
        }
コード例 #2
0
 public DVector Add(DVector o)
 {
     return(new DVector(x + o.x, y + o.y, z + o.z));
 }
コード例 #3
0
 public void Set(DVector o)
 {
     x = o.x;
     y = o.y;
     z = o.z;
 }
コード例 #4
0
 public DVector(DVector o)
 {
     x = o.x;
     y = o.y;
     z = o.z;
 }
コード例 #5
0
 public DVector Sub(DVector o)
 {
     return(new DVector(x - o.x, y - o.y, z - o.z));
 }