WPF 心形线算法

今天在网上查找下心形算法公式,自己便按照公式写下来标记在博客,主要是方便以后查看!

        private int maxStep = 520;
        private double radius;
        private double centerPt;
        private void CreateHeartLine()
        {
          /*RootCvs是Canvas控件*/
            centerPt = RootCvs.Width / 2;
            radius = RootCvs.Width / 6;
            for (int i = 0; i < maxStep; i++)
            {
                var rect = new Rectangle
                {
                    Height = 5,
                    Width = 5,
                    Fill = Brushes.Red
                };
                double angle = 2 * Math.PI / maxStep * i;
                double r = 2 * radius * (1 - Math.Sin(angle));

                //圆形心
                //double x = centerPt + radius * (2 * Math.Cos(angle) - Math.Cos(2 * angle));
                //double y = centerPt + radius * (2 * Math.Sin(angle) - Math.Sin(2 * angle));

                //桃形心
                double x = centerPt + 16 * (Math.Sin(angle) * Math.Sin(angle) * Math.Sin(angle)) * 10;//
                double y = centerPt + (13 * Math.Cos(angle) - 5 * Math.Cos(2 * angle) - 2 * Math.Cos(3 * angle) - Math.Cos(4 * angle)) * 10;//
                Canvas.SetLeft(rect, x);
                Canvas.SetTop(rect, y);
                RootCvs.Children.Add(rect);
            }
        }
时间: 2024-11-11 12:45:42

WPF 心形线算法的相关文章

笛卡尔心形线

Matlab代码: close all; alpha = -pi : pi/50 : pi; x = 2*cos(alpha);y = 2*sin(alpha);for p=1:length(x)        alpha1 = -pi : pi/100 : pi;         x1 = 1*cos(alpha1);        y1 = 1*sin(alpha1);        hold on;        plot(x(1,p)+x1,y(1,p)+y1-1,'g');endaxi

HTML5 用 canvas 绘制心形线

笛卡尔的心形线 桃心形 这个桃心比较符合口味..遂决定使用此方程.. 当然还有一些其它方程,如下: 下面就开始写程序了. <!DOCTYPE html> <html> <head> <title>Draw Heart</title> <style type="text/css"> * { margin: 0; padding: 0; } html { height: 100%; margin: 0; } body 

WPF-MVVM学习心德(WinForm转WPF心德)

接触MVVM接近一段时间了,有一点理解,写下来. 之前是做winform的,工作需要,学习wpf.优缺点就不用说类,网上一大堆.我自己理解的话,有下面几点: 1.首先是界面的xmal和界面分离:wpf也同样支持拖拉控件,但是使用wpf的人,都觉得在xmal中写控件更屌一点.并且可以使用静态资源(Window.Resources)设置每一个控件的样式(Style),统一界面风格更方便.Style中的TargetType指定属于某一类控件,Setter指定属性(Property)和Value. 如

实现笛卡尔心形线的重复循环绘制

HTML部分: 1.<a onclick="logoClick()"></a> 2.<div id="canvasZone">   <canvas id="myCanvas"></canvas>   </div> CSS部分: #canvasZone { width: 100%; height: 100%; text-align: center; padding-top: 2

基于位置信息的聚类算法介绍及模型选择

百度百科 聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类.由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异."物以类聚,人以群分",在自然科学和社会科学中,存在着大量的分类问题.聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法.聚类分析起源于分类学,但是聚类不等于分类.聚类与分类的不同在于,聚类所要求划分的类是未知的. 分类和聚类算法一直以来都是数据挖掘,机器学习领域的热门课题,因此产生了众多的

贪心算法换零钱(java)

贪心算法思想 贪心算法总是做出在当前看来做好的选择.也就是说贪心算法并不从整体最后考虑,他做出的选择只是局部最优选择.他所做出的仅是在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解. 1.算法思路 贪心算法是一种不追求最优解,只希望得到较为满意解的方法.贪心算法一般可以快速得到满意的解,因为它省去了为找最优姐要穷尽所有肯呢个而必须耗费大量时间.贪婪(心)算法是一种改进了的分级处理方法.其核心是根据题意选取一种

笛卡尔心形曲线

1650年,斯德哥尔摩的街头,52岁的笛卡尔邂逅了18岁的瑞典公主克里斯汀.  那时,落魄.一文不名的笛卡尔过着乞讨的生活,全部的财产只有身上穿的破破烂烂的衣服和随身所带的几本数学书籍.生性清高的笛卡尔从来不开口请求路人施舍,他只是默默地低头在纸上写写画画,潜心于他的数学世界.  一个宁静的午后,笛卡尔照例坐在街头,沐浴在阳光中研究数学问题.他如此沉溺于数学世界,身边过往的人群,喧闹的车马队伍.都无法对他造成干扰.  突然,有人来到他旁边,拍了拍他的肩膀,“你在干什么呢?”扭过头,笛卡尔看到一张

8 WPF学习之深入浅出话属性

转载:http://blog.csdn.net/fwj380891124/article/details/8131080 通过前面的学习,我们已经知道Data Binding是WPF"数据驱动UI"理念的基础.上一章我们将主要的精力放在了Binding的数据源这一端,研究了Binding的Source和Path.本章我们将把目光移向Binding的目标端,研究一下什么样的对象才能作为Binding的Target以及Binding将把数据送往何处. 1.1      属性(Propert

浪漫桃心的Android表白程序

本文转载于  huachao1001的专栏 几年前,看到过有个牛人用HTML5绘制了浪漫的爱心表白动画.地址在这:浪漫程序员 HTML5爱心表白动画.发现原来程序员也是可以很浪……漫…..的.那么在Android怎么打造如此这个效果呢?参考了一下前面HTML5的算法,在Android中实现了类似的效果.先贴上最终效果图: 生成心形线 心形线的表达式可以参考:桃心线.里面对桃心线的表达式解析的挺好.可以通过使用极坐标的方式,传入角度和距离(常量)计算出对应的坐标点.其中距离是常量值,不需改变,变化