Example #1
0
        public PixelData GetPixelDataAtRaDec(Vector2d raDec)
        {
            double x = Math.Max(0, Math.Min((raDec.X - raMin) / this.scaleX, 511));
            double y = Math.Max(0, Math.Min(511 - (raDec.Y - decMin) / this.scaleY, 511));



            return this.fastImage.GetFilteredPixel(x, y);
        }
Example #2
0
        public string GetPixelDataAtRaDecString(Vector2d raDec)
        {
            double x = (raDec.X - raMin) / this.scaleX;
            double y = (raDec.Y - decMin) / this.scaleY;

            return string.Format("x={0},y={1}, scaleX={2}, scaleY={3}", x, y, scaleX, scaleY);

            //return this.fastImage.GetFilteredPixel(x,y);
        }
Example #3
0
        public static Vector2d Lerp(Vector2d left, Vector2d right, double interpolater)
        {
            if (Math.Abs((double)(left.X - right.X)) > 180)
            {
                if (left.X > right.X)
                {
                    right.X += 360;
                }
                else
                {
                    left.X += 360;
                }
            }
            return new Vector2d(left.X * (1 - interpolater) + right.X * interpolater, left.Y * (1 - interpolater) + right.Y * interpolater);

        }
Example #4
0
        public Vector2d PointToRaDec(Vector2d point) // point is between 0 and 1 inclusive
        {

            int indexX = (int)(point.X / subDivSize);
            int indexY = (int)(point.Y / subDivSize);

            if (indexX > ((int)Math.Pow(2, subDivisions) - 1))
            {
                indexX = ((int)Math.Pow(2, subDivisions) - 1);
            }
            if (indexY > ((int)Math.Pow(2, subDivisions) - 1))
            {
                indexY = ((int)Math.Pow(2, subDivisions) - 1);
            }
            double xDist = (point.X - ((double)indexX * subDivSize)) / subDivSize;
            double yDist = (point.Y - ((double)indexY * subDivSize)) / subDivSize;

            Vector2d interpolatedTop = Vector2d.Lerp(raDecMap[indexX, indexY], raDecMap[indexX + 1, indexY], xDist);
            Vector2d interpolatedBottom = Vector2d.Lerp(raDecMap[indexX, indexY + 1], raDecMap[indexX + 1, indexY + 1], xDist);
            Vector2d result = Vector2d.Lerp(interpolatedTop, interpolatedBottom, yDist);


            return result;
        }