win10 uwp 分治法
其实我想说Path,因为最近在做一个简单的分治。
算法涉及到了一个平面几何的知识。就是三角形p1p2p3的面积等于以下行列式的二分之一:
而且当点P3 在射线P1P2的左侧的时候,表达式为正,右侧表达式为负,三点同线的话表达式为0;算法中就利用该几何特性判断一个点在一条线的左侧还是右侧。
参见:http://www.cnblogs.com/Booble/archive/2011/03/10/1980089.html
我们有了一个后台,他可以有很多点,和得到边,我们如何从拿到的List<Point> point
画出,和拿到的边的点画出
其实我们可以用简单的Path,如何从Path画点
我们可以使用EllipseGeometry
EllipseGeometry是Geometry,看到Geometry大家会看到Path的Data,是的,我们可以使用
Windows.UI.Xaml.Shapes.Path path = new Windows.UI.Xaml.Shapes.Path
{
Data = new EllipseGeometry()
};
为什么画点我会使用EllipseGeometry,因为我就需要一个点作为中心,X的大小和Y的,然后就是点
Windows.UI.Xaml.Shapes.Path path = new Windows.UI.Xaml.Shapes.Path
{
Data = new EllipseGeometry()
{
Center = point,
RadiusX = 5,
RadiusY = 5
}
};
那么我们需要给点颜色
断句不要弄错,是给 点 ,颜色
实心:Fill = new SolidColorBrush(Colors.Gray),因为我们可以使用简单Colors,如果需要RBG,那么可以使用
Fill = new SolidColorBrush(new Color()
{
R = 0,
B = 0,
G = 0
})
然而这样觉得还是不好,我们本来不用十进制
Fill = new SolidColorBrush(new Color()
{
R = 0x23,
B = 0x54,
G = 0xa
})
博客:blog.csdn.net/lindexi_gd
如果觉得上面代码多:
Fill = new SolidColorBrush(Color.FromArgb(0xff,0xff,0xa,0x2))
我们这样还是好多,不过垃圾的wr没有给我们string转Color,工藤给我微软的自带可以把string转为Color因为简单,我就没有写,现在想要,找了很久,如果需要可以进: 53078485
我们现在已经弄好画点,但是空心没画
Stroke = new SolidColorBrush(Colors.Gray)
这样我们就可以画空心和实心
用之前的代码作为我们后台
我们需要连线
连线
n = point.Count;
PathFigure figures = new PathFigure();
for (int i = 0; i < n; i++)
{
figures.Segments.Add(new LineSegment()
{
Point = point[i]
});
}
figures.Segments.Add(new LineSegment()
{
Point = point[0]
});
figures.StartPoint = point[0];
Windows.UI.Xaml.Shapes.Path path_figure = new Path()
{
Data = new PathGeometry()
{
Figures = new PathFigureCollection()
{
figures
}
},
Stroke = new SolidColorBrush(Colors.Gray)
};
如果觉得这样太快了,我们可以弄个差
PathGeometry path_figure = new PathGeometry();
for (int i = 0; i < point.Count; i++)
{
PathFigure path_segment = new PathFigure()
{
StartPoint = point[i]
};
i++;
LineSegment line = new LineSegment()
{
Point = point[i]
};
path_segment.Segments.Add(line);
path_figure.Figures.Add(path_segment);
}
PathFigure第一个点StartPoint = point[i]
,LineSegment第二个,path_segment.Segments.Add(line);
,把path_segment
放在我们外面定义path_figure
这样比第一个会多了path_segment
,这个变量命名不对,但是我现在不想去改
代码:https://github.com/lindexi/Algorithm
做完我来运行
win10 uwp 分治法的更多相关文章
- win10 uwp 入门
UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客. 关于UWP介绍可以参见:http://lib.csdn.net/article/csharp/32451 首先需要申请一 ...
- win10 uwp 商业游戏
本文告诉大家去做一个商业游戏,游戏很简单,几乎没有什么技术 游戏的开始,需要添加框架库,于是引用我自己写的库. 首先是创建一个启动页面,这个页面是显示启动的. 在显示启动的时候,是需要加载游戏需要使用 ...
- win10 uwp 如何使用DataTemplate
这是数据模板,一般用在数组的绑定,显示数组中的元素. 假如我们有一个列表,列表里是书,包括书名.作者.还有出版,那么我们只有源信息,如何把它显示到我们的ListView,就需要DataTemplate ...
- 分治法求解最近对问题(c++)
#include"stdafx.h" #include<iostream> #include<cmath> #define TRUE 1 #define F ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
- Win10 UWP开发系列:实现Master/Detail布局
在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...
- Win10 UWP开发实现Bing翻译
微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...
- Win10/UWP开发—使用Cortana语音与App后台Service交互
上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...
- 【Win10 UWP】后台任务与动态磁贴
动态磁贴(Live Tile)是WP系统的大亮点之一,一直以来受到广大用户的喜爱.这一讲主要研究如何在UWP应用里通过后台任务添加和使用动态磁贴功能. 从WP7到Win8,再到Win10 UWP,磁贴 ...
随机推荐
- 【Beta】 第七次Daily Scrum Meeting
第七次meeting会议 [Beta] 第七次Daily Scrum Meeting 一.本次会议为第七次meeting会议 二.时间:10:00AM-10:20AM 地点:禹州楼 三.会议站立式照片 ...
- 201521123005《java程序设计》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 接口 有点类似继承中父类与子类的关系 方法声明和常量值的集合 对行为的抽象 一种 ...
- 201521123040《Java程序设计》第1周学习总结
1.本周学习总结 -初步接触JAVA,安装了JDK和eclipse,注册了码云,PTA,博客. -还没能熟悉eclipse,不能熟练把ec上的代码同步到码云. -不会编写程序,不了解JAVA的编写规则 ...
- Java补码表和位移运算符
在java中数据都是以二进制的形式保存的. 但是我们看到的数据怎么是10进制的? 因为java展示之前会自动调用toString()方法 这里以4位2进制为例,4位2进制只能表示16个数,即0-15. ...
- 我的Emacs配置文件
(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you co ...
- 201521123017 《Java程序设计》第13周学习总结
1. 本周学习总结 2. 书面作业 Q1.网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 te ...
- JS严格模式
如何开启严格模式? 在js中,只需要在顶部添加"use strict",即可进入严格模式 在函数中加上"use strict"编辑指示,也可以指定函数在严格模式 ...
- 32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址
32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址 一丶基址,随机基址的理解 首先,全局变量的地址,我们都知道是固定的,是在PE文件中有保存的 但是高版本有了随机基址,那么要怎么解决这 ...
- C#参数详解
参数 可选参数与命名参数 设计方法时,我们可以为部分参数设置默认值,在方法调用时就可以不提供该参数,使用其默认值.此外,调用方法时可以通过指定参数名的方式来传递参数.话不多说,请看以下示例: stat ...
- webservice03#schema#元素属性定义
工具软件XMLSpy 2010 破解版,是非常好的写XMl的工具软件. 1,Schema的好处: Schema出现的目的是通过一个更加合理的方式来编写xml的限制文件(基于xml语法的方式): Sch ...