- 浏览: 142508 次
-
文章分类
最新评论
win10 uwp 分治法
其实我想说Path,因为最近在做一个简单的分治。
算法涉及到了一个平面几何的知识。就是三角形p1p2p3的面积等于以下行列式的二分之一:
<nobr><span class="math" id="MathJax-Span-64" style="width: 27.683em; display: inline-block;"><span style="display: inline-block; position: relative; width: 22.136em; height: 0px; font-size: 125%;"><span style="position: absolute; clip: rect(3.949em 1000em 7.949em -0.424em); top: -4.744em; left: 0.003em;"><span class="mrow" id="MathJax-Span-65"><span style="display: inline-block; position: relative; width: 22.136em; height: 0px;"><span style="position: absolute; clip: rect(3.203em 1000em 4.376em -0.424em); top: -3.997em; left: 0.003em;"><span class="mi" id="MathJax-Span-66" style="font-family: MathJax_Math-italic;">x</span><span class="mn" id="MathJax-Span-67" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-68" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-69" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-70" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-71" style="font-family: MathJax_Main; padding-left: 0.216em;">+</span><span class="mi" id="MathJax-Span-72" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-73" style="font-family: MathJax_Main;">3</span><span class="mo" id="MathJax-Span-74" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-75" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-76" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-77" style="font-family: MathJax_Main; padding-left: 0.216em;">+</span><span class="mi" id="MathJax-Span-78" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-79" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-80" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-81" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-82" style="font-family: MathJax_Main;">3</span><span class="mo" id="MathJax-Span-83" style="font-family: MathJax_Main; padding-left: 0.216em;">−</span><span class="mi" id="MathJax-Span-84" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-85" style="font-family: MathJax_Main;">3</span><span class="mo" id="MathJax-Span-86" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-87" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-88" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-89" style="font-family: MathJax_Main; padding-left: 0.216em;">−</span><span class="mi" id="MathJax-Span-90" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-91" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-92" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-93" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-94" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-95" style="font-family: MathJax_Main; padding-left: 0.216em;">−</span><span class="mi" id="MathJax-Span-96" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-97" style="font-family: MathJax_Main;">1</span><span style="display: inline-block; width: 0px; height: 4.003em;"></span></span><span style="position: absolute; clip: rect(3.096em 1000em 4.429em -0.424em); top: -2.611em; left: 0.003em;"><span class="mo" id="MathJax-Span-98" style="font-family: MathJax_Main;">∗</span><span class="mi" id="MathJax-Span-99" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-100" style="font-family: MathJax_Main;">3</span><span class="mo" id="MathJax-Span-101" style="font-family: MathJax_Main; padding-left: 0.269em;">=</span><span class="mi" id="MathJax-Span-102" style="font-family: MathJax_Math-italic; padding-left: 0.269em;">x</span><span class="mn" id="MathJax-Span-103" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-104" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-105" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-106" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-107" style="font-family: MathJax_Main; padding-left: 0.216em;">−</span><span class="mi" id="MathJax-Span-108" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-109" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-110" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mi" id="MathJax-Span-111" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-112" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-113" style="font-family: MathJax_Main; padding-left: 0.216em;">+</span><span class="mi" id="MathJax-Span-114" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-115" style="font-family: MathJax_Main;">3</span><span class="mo" id="MathJax-Span-116" style="font-family: MathJax_Main; padding-left: 0.216em;">∗</span><span class="mo" id="MathJax-Span-117" style="font-family: MathJax_Main; padding-left: 0.216em;">(</span><span class="mi" id="MathJax-Span-118" style="font-family: MathJax_Math-italic;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-119" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-120" style="font-family: MathJax_Main; padding-left: 0.216em;">−</span><span class="mi" id="MathJax-Span-121" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-122" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-123" style="font-family: MathJax_Main;">)</span><span class="mo" id="MathJax-Span-124" style="font-family: MathJax_Main; padding-left: 0.216em;">+</span><span class="mi" id="MathJax-Span-125" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">y<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.003em;"></span></span><span class="mn" id="MathJax-Span-126" style="font-family: MathJax_Main;">3</span><span style="display: inline-block; width: 0px; height: 4.003em;"></span></span><span style="position: absolute; clip: rect(3.096em 1000em 4.429em -0.424em); top: -1.171em; left: 0.003em;"><span class="mo" id="MathJax-Span-127" style="font-family: MathJax_Main;">∗</span><span class="mo" id="MathJax-Span-128" style="font-family: MathJax_Main; padding-left: 0.216em;">(</span><span class="mi" id="MathJax-Span-129" style="font-family: MathJax_Math-italic;">x</span><span class="mn" id="MathJax-Span-130" style="font-family: MathJax_Main;">2</span><span class="mo" id="MathJax-Span-131" style="font-family: MathJax_Main; padding-left: 0.216em;">−</span><span class="mi" id="MathJax-Span-132" style="font-family: MathJax_Math-italic; padding-left: 0.216em;">x</span><span class="mn" id="MathJax-Span-133" style="font-family: MathJax_Main;">1</span><span class="mo" id="MathJax-Span-134" style="font-family: MathJax_Main;">)</span><span style="display: inline-block; width: 0px; height: 4.003em;"></span></span></span></span><span style="display: inline-block; width: 0px; height: 4.749em;"></span></span></span><span style="border-left-width: 0.003em; border-left-style: solid; display: inline-block; overflow: hidden; width: 0px; height: 4.803em; vertical-align: -3.863em;"></span></span></nobr><script type="math/tex" id="MathJax-Element-2">x1*y2+x3*y1+x2*y3-x3*y2-x2*y1-x1*y3 = x1*y2-x2*y1+x3*(y1-y2)+y3*(x2-x1) </script>
而且当点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 开发教程 课程 资源 80课时 课程地址:http://blog.csdn.net/shanguuncle/article/details/78111649
全选设置之后UWP即可访问localhost,可以走代理。
下面我们将深入探讨如何在Win10下通过UWP实现这些功能。 首先,我们需要了解UWP(Universal Windows Platform)是微软为Windows 10推出的一种跨设备的应用程序开发框架。它允许开发者编写一次代码,就能在各种...
总结来说,"win10 uwp 轻量级 MVVM 框架入门 2.1.5.3199 例子"提供了一个实际操作的平台,让开发者学习如何在UWP环境中利用MVVM模式进行开发。通过分析和实践这个框架,你将能够更好地理解MVVM的工作原理,以及如何...
在Windows 10 UWP应用开发中,常常需要创建一种用户友好的交互方式,即当用户右键点击某个元素时,能在一个特定的位置显示一个浮出菜单(MenuFlyout)。本篇文章将详细介绍如何使用C#实现这样的功能,使得MenuFlyout...
在本文中,我们将探讨如何利用Windows 10的UWP(通用Windows平台)应用程序与ASP.NET Core构建一个图床服务器的客户端。这是一个涉及到跨平台开发和云端图像存储管理的项目,旨在提供一种高效且灵活的方式来上传和...
win10 moblie uwp qq5.6.1150.1000主程序,不含依赖程序
win10 moblie uwp 越飞阅读1.4.68.0主程序,不含依赖程序
title: "win10 uwp 字符文本转语音声音文件方法"在 UWP 中,支持将传入的字符串文本内容转换为音频语音,可以将这个语音声音通过 MediaEl
但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上安装...
但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上...
首先打开 使用微软的账号或 github 账号登陆点击 add new 添加一个 UWP 程序,需要写出 app 的
如果需要反过来,把同步转异步,可以使用 同步方法转异步写你的代码使用Task.Wait 时需要小心死锁不会出现死锁的代码使用Task.Delay等待即使使用方法
此安装包为win10的uwp版应用软件Sound Blaster Connect,有需要的朋友可以去下载下来
【描述】提到的"一个uwp开发源码,可以移植到一切win10系统"意味着该项目遵循了UWP的跨平台特性,使得开发者能够在不同类型的Windows 10设备上部署和运行同一套代码。UWP是微软为了统一Windows生态而推出的新开发...
win10应用商店安装包,Microsoft.WindowsStore_11804.1001.913.0_neutral_~_8wekyb3d8bbwe,可用于不带应用商店的安装
借助 Windows Explorer 上的这种现代 UWP,以更有效,更令人满意的方式管理文件 我们认为我们大多数人都可以同意 Windows 10 是迄今为止 Microsoft 操作系统的最佳版本,尽管它具有各种可感知的或多或少的主观缺点...
标题"BleScan_连接_Windows编程_ble_win10ble开发_win10ble_"涉及的核心技术是Windows 10上的蓝牙低功耗(Bluetooth Low Energy, BLE)开发,具体包括BLE设备的扫描、连接以及属性查询。这个项目是在64位Windows 10...
微软推出的开源UWP社区工具包(Windows Community Toolkit)是一个关键的资源,它旨在简化和加速开发流程,使得开发者能够更高效地利用Win10 SDK进行编程。 UWP社区工具包是一个集合了各种辅助工具、组件和示例代码...
Windows10 引入了通用 Windows 平台 (UWP),这进一步推动了 Windows 运行时模型的发展,并将该平台引入到 Windows 10 统一核心版 中。作为核心版的一部分,UWP 现提供了一个可供在每个运行 Windows 10 的设备上使用...