コード例 #1
0
ファイル: Interval2d.cs プロジェクト: GitZHCODE/zCode
 /// <summary>
 ///
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <returns></returns>
 public static Interval2d Union(Interval2d a, Interval2d b)
 {
     a.X = Intervald.Union(a.X, b.X);
     a.Y = Intervald.Union(a.Y, b.Y);
     return(a);
 }
コード例 #2
0
ファイル: Interval2d.cs プロジェクト: GitZHCODE/zCode
 /// <summary>
 ///
 /// </summary>
 /// <param name="point"></param>
 /// <param name="from"></param>
 /// <param name="to"></param>
 /// <returns></returns>
 public static Vec2d Remap(Vec2d point, Interval2d from, Interval2d to)
 {
     point.X = Intervald.Remap(point.X, from.X, to.X);
     point.Y = Intervald.Remap(point.Y, from.Y, to.Y);
     return(point);
 }
コード例 #3
0
ファイル: Interval2d.cs プロジェクト: GitZHCODE/zCode
 /// <summary>
 ///
 /// </summary>
 /// <param name="d0"></param>
 /// <param name="d1"></param>
 /// <returns></returns>
 public static Interval2d Intersect(Interval2d d0, Interval2d d1)
 {
     d0.X = Intervald.Intersect(d0.X, d1.X);
     d0.Y = Intervald.Intersect(d0.Y, d1.Y);
     return(d0);
 }
コード例 #4
0
 /// <summary>
 /// Returns a random 2d vector which has components within the given interval
 /// </summary>
 /// <param name="random"></param>
 /// <param name="interval"></param>
 /// <returns></returns>
 public static Vec2d NextVec2d(this Random random, Interval2d interval)
 {
     return(new Vec2d(
                interval.X.Evaluate(random.NextDouble()),
                interval.Y.Evaluate(random.NextDouble())));
 }