• 当 智能箭头 碰到 方向箭头 。。。。。。。


    方向箭头

    智能箭头 + 方向箭头

    方向箭头是自己画的。大家可以看出,没有 透明通道,依然这么美丽。。。。

    方向箭头的 原理:

    用四向寻路,计算出路径,并根据 每个点 前后 节点,来算出方向。

    当然你 也可以做成8向寻路,这样,估计箭头图标 得多点,

    这个是拐点的计算,深颜色的圈 代表 起始点,淡颜色的圈代表 末点。蓝色菱形 是 你需要得出的 拐点 图。

         //////////////////////////////////////箭头条
            if (x == x2)//竖着
            {
                dis = 2;
            }
            else if (y == y2)//横着
            {
                dis = 1;
            }
            else  //拐弯
            {
                if (x < x2 && y < y2) //左下 右上
                {
                    if (x1 == x)
                    {
                        dis = 6;
                    }
                    else
                    {
                        dis = 4;
                    }
                }
                if (x < x2 && y > y2)//左上 右下
                {
                    if (x1 != x)
                    {
                        dis = 3;
                    }
                    else
                    {
                        dis = 5;
                    }
                }
                if (x > x2 && y > y2)//右上 左下
                {
                    if (x1 != x)
                    {
                        dis = 6;
                    }
                    else
                    {
                        dis = 4;
                    }
                }
    
                if (x > x2 && y < y2)//右下 左上
                {
                    if (x1 != x)
                    {
                        dis = 5;
                    }
                    else
                    {
                        dis = 3;
                    }
                }
            }
    

      大致就是以上的 方式来算出。同样,箭头,也差不多这么写。

            ///////////////////////////////////////箭头
            if (x == x2)//竖着
            {
                if (y < y2)//
                {
                    ddis = 10;
    
                }
                else//
                {
                    ddis = 8;
                }
            }
            else if (y == y2)//横着
            {
                if (x < x2)//
                {
                    ddis = 7;
    
                }
                else//
                {
                    ddis = 9;
                }
            }
            else
            {
                if (x < x2 && y < y2) //左下 右上
                {
                    if (x1 == x)  //
                    {
                        ddis = 9;
                    }
                    else //
                    {
                        ddis = 8;
                    }
                }
                if (x < x2 && y > y2)//左上 右下
                {
                    if (x1 != x) //
                    {
                        ddis = 7;//
                    }
                    else //
                    {
                        ddis = 9;
                    }
                }
                if (x > x2 && y > y2)//右上 左下
                {
                    if (x1 != x) //
                    {
                        ddis = 10;
                    }
                    else //
                    {
                        ddis = 7;
                    }
                }
    
                if (x > x2 && y < y2)//右下 左上
                {
                    if (x1 != x) //
                    {
                        ddis = 9;//
                    }
                    else //
                    {
                        ddis = 7;
                    }
                }
            }

    dis,ddis.是代表下图 

    另外求一套美化的 箭头图,要求所有 图尺寸,一致。

    同时 箭头 四个,最好是 去掉尾巴,只留三角。位置不变。让另一半全透明。

  • 相关阅读:
    Spark官方调优文档翻译(转载)
    Spark性能优化指南——高级篇(转载)
    Spark性能优化指南——基础篇(转载)
    Apache Spark 内存管理详解(转载)
    Apache Spark 2.2.0新特性介绍(转载)
    SparkSQL – 从0到1认识Catalyst(转载)
    深入研究Spark SQL的Catalyst优化器(原创翻译)
    GC调优在Spark应用中的实践(转载)
    Project Tungsten:让Spark将硬件性能压榨到极限(转载)
    Spark SQL在100TB上的自适应执行实践(转载)
  • 原文地址:https://www.cnblogs.com/big-zhou/p/5314520.html
Copyright © 2020-2023  润新知