Exemple #1
0
        static public List <Hex> HexLinedraw(Hex a, Hex b)
        {
            int           N       = a.Distance(b);
            FractionalHex a_nudge = new FractionalHex(a.q + 1e-06, a.r + 1e-06, a.s - 2e-06);
            FractionalHex b_nudge = new FractionalHex(b.q + 1e-06, b.r + 1e-06, b.s - 2e-06);
            List <Hex>    results = new List <Hex> {
            };
            double step           = 1.0 / Math.Max(N, 1);

            for (int i = 0; i <= N; i++)
            {
                results.Add(a_nudge.HexLerp(b_nudge, step * i).HexRound());
            }
            return(results);
        }
Exemple #2
0
 public FractionalHex HexLerp(FractionalHex b, double t)
 {
     return(new FractionalHex(q * (1.0 - t) + b.q * t, r * (1.0 - t) + b.r * t, s * (1.0 - t) + b.s * t));
 }