• 2024-09-11技术成神之路:设计模式(十三)访问者模式
    介绍访问者模式(VisitorPattern)是一种行为型设计模式,它允许你在不改变对象结构的前提下,定义作用于这些对象的新操作。这种模式通过将操作逻辑从对象结构中抽离出来,使得新的操作可以无缝地添加到现有对象中。1.定义访问者模式定义了一个访问者接口,它包含了访问不同元素的操作方法。
  • 2024-09-10manim边学边做--常用多边形
    多边形是常见的几何结构,它的形状看似千变万化,其实都可以由几种常用的多边形组合而成。本篇介绍manim中提供的几个绘制常用多边形的模块。Triangle:等边三角形Square:正方形Rectangle:长方形RoundedRectangle:圆角的长方形Star:没有相交线的正多边形,图形类似带尖角的星形1.主
  • 2024-09-09【原理篇】软件设计原则之里氏代换原则
    文章目录概要理解说明案例--正方形不是长方形PartI--不符合LSP正方形(子类)继承长方形(父类)PartI--结论PartII--符合LSP概要里氏代换原则(LiskovSubstitutionPrinciple,LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。理解说明任何父
  • 2024-09-05【C++】封装
    目录1.访问控制符2.封装的目的2.1.数据隐藏和保护2.2.接口与实现的分离2.3.控制访问3.封装的好处3.1.提高代码的安全性3.2.减少错误3.3.提高代码的可维护性3.4.增强代码的可读性3.5.促进模块化设计3.6.提高代码的可重用性3.7.支持面向对象的设计原则
  • 2024-09-02C#自定义控件—流动管道
    C#用户控件之流动管道如何绘制一个动态的流动管道(FlowPipe)?分两步绘制定义属性;画布重绘;主要技能:管道的绘制(渐变色矩形)///<summary>///画渐变色矩形的方法///</summary>///<paramname="g">画布</param>///<paramname="brush">画刷</param>
  • 2024-09-02OpenCV绘图函数(15)图像上绘制矩形函数 rectangle()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述绘制一个简单的、粗的或填充的直立矩形。这个函数cv::rectangle绘制一个矩形轮廓或一个填充的矩形,其两个相对的顶点分别是pt1和pt2。函数原型1voidcv::rectangle( Inpu
  • 2024-08-28不可不知的WPF画笔(Brush)
    在WPF中,屏幕上的所有内容,都是通过画笔(Brush)画上去的。如按钮的背景色,边框,文本框的前景和形状填充。借助画笔,可以绘制页面上的所有UI对象。不同画笔具有不同类型的输出( 如:某些画笔使用纯色绘制区域,其他画笔使用渐变、图案、图像或绘图)。Brush位于System.Windows.Media命名空间,Br
  • 2024-08-14[CodeForces] F. Color Rows and Columns
    ProblemLink Basedoninitialobservation,itseemsthatgreedilypickthesmallestrow/columnlengthworks.Butthelastexampletestcaseoutputs35whilegreedygives36.  Howyoushouldgofromthere:1.checkifyourgreedyimplementationisco
  • 2024-08-14《python语言程序设计》2018第7章第1题 第2次刷题 创建一个Rectangle类,包括长、宽数据域、返回面积、返回周长
    uml类图到现在不会弄。此处为main的位置,不是rectangle类的代码。importmathdefmain():width_int=eval(input("EnterRectangle#1width:"))height_int=eval(input("EnterRectangle#1height:"))a=exCode07.Rectangle(width_int,height
  • 2024-08-10[ARC179E] Rectangle Concatenation
    MyBlogs[ARC179E]RectangleConcatenation唐完了。稍微观察一下发现矩形只有两种形态。考虑暴力:从每个\(i\)开始向后扫,设\(f_{j,0}\)表示能否拼在左右,\(f_{j,1}\)表示能否拼在上下。设\(S_{l,r}\)表示\([l,r]\)内矩形的面积和,没想到用面积判就败了:\[\begin{aligned
  • 2024-08-07[EC Final 2022] Rectangle
    link。数据结构好题,写死我了QwQ……这个题是可以用segbeats做到\(O(n\logn)\)的。先离散化。我们只用考虑三条竖线和两竖一横的情况。三条竖线线性DP一下就行了。两竖一横的情况可以考虑枚举更靠后的那条竖线,首先这条竖线后面还没有被覆盖的区间就只能用横线覆盖了,于
  • 2024-07-28【WPF】Command 的一些使用方案
    Command,即命令,具体而言,指的是实现了 ICommand接口的对象。此接口要求实现者包含这些成员:1、CanExecute方法:确定该命令是否可以执行,若可,返回true;若不可,返回false;2、CanExecuteChanged事件:发送命令(命令源)的控件可以订阅此事件,当命令的可执行性改变时能得到通知;3、Execute
  • 2024-07-11[C++]封装
    一、封装的定义封装是面向对象编程(OOP)的三大基本特性之一(封装、继承、多态)。它指的是将数据(属性)和操作这些数据的方法(函数)结合成一个独立的单元(类),并尽可能隐藏对象的内部细节,仅对外公开接口。这样做的目的是保护对象的数据,防止外部代码直接访问对象内部的数据结构,减少错误并简
  • 2024-07-08人生低谷来撸C#--003
    1、新手暂且这里只是记录成长新手好多都是小白,这里也分享不了什么精彩的内容,只是鼓励和记录自己的成长。2、关于C#封装封装被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向
  • 2024-06-30WPF Rectangle ellipse
    <Windowx:Class="WpfApp185.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft
  • 2024-06-15除去指定区域水印
    ///<summary>///除去指定区域水印///</summary>///<paramname="sourceImagePath"></param>///<paramname="outputImagePath"></param>publ
  • 2024-06-09cv::Rect类的构造
    在算交并比的时候涉及到cv::Rect2f的初始化,比较常用的由下面几种Rect_(_Tp_x,_Tp_y,_Tp_width,_Tp_height); //左上点xy,宽度,长度Rect_(constPoint_<_Tp>&org,constSize_<_Tp>&sz);//左上点point,size类(宽度,长度)Rect_(constPoint_<_Tp>&pt1,
  • 2024-06-02里氏替换原则经典反例:正方形不是长方形
    里氏替换原则指出:“继承必须确保超类所拥有的性质在子类中仍然成立”,在程序中的表现就是某个接口能接受超类对象为参数,那么它也必须应该能接受子类对象为参数,且程序不会出现异常。也就是说子类对象应该能够替换掉超类对象,而程序的行为不会改变。最经典的用于说明里氏替换原
  • 2024-05-28WPF Image ZoomIn ZoomOut pan
    <Windowx:Class="WpfApp120.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft
  • 2024-05-13PLC程序实现矩形波,三角波,正弦波
    这套程序本来是在Smart200上玩出来的,后来在PLC1200/PLC1500的环境下重写了PLC程序。换句话说,这要遵守程序里的算法公式,不管什么PLC都能做出这几种波形1.采样时间想要生成连续的波形图,本质就是在采样时间点上采集当前输出值,当采样点足够多的时候,在时间线上就形成了随时间变化的
  • 2024-05-05C++ 抽象类快速使用
    在C++中,你可以通过在类定义中使用纯虚函数(purevirtualFunction)来创建一个抽象类。这里的“抽象”意味着这个类不能被实例化,即你不能创建这个类的对象。在C++中,你可以通过在类定义中使用纯虚函数(purevirtualFunction)来创建一个抽象类。这里的“抽象”意味着这个类不能被实例化
  • 2024-04-19WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中
    实现的效果如果你对此感兴趣,可以接着往下阅读。实现过程绘制矩形比如说我想绘制一个3行4列的表格:privatevoidButton_Click_DrawRect(objectsender,RoutedEventArgse){intRow=3;intCol=4;for(inti=0;i<Row;i++){
  • 2024-04-16WPF基础:在Canvas上绘制图形
    Canvas介绍Canvas是WPF(WindowsPresentationFoundation)中的一种面板控件,用于在XAML中布置子元素。它提供了绝对定位的能力,允许元素在自由的二维空间中放置。Canvas上的子元素可以通过指定绝对位置(Left和Top属性)来放置,也可以使用附加属性来指定相对于Canvas的位置。Canvas对于需
  • 2024-04-15CF1198E Rectangle Painting
    传送门题意:\(10^9\times10^9\)的白色平面上,给定\(m\le50\)个矩形将其涂黑。每次可以选\(\min(h,w)\)的代价将一个\(h\timesw\)的矩形涂白,问涂成全白的最小代价。可以看作每次涂一整条或一整列。如果不是\(10^9\)的范围,可以直接上二分图最小点覆盖了。但是这里我
  • 2024-04-03PLSQL涉及对象类型能力域的一次代码改造案例
    文章概述本文通过某项目一次针对对象类型中一些不支持的功能项进行代码改造为契机,重新回顾和熟悉了对象类型继承,子父对象转换,函数重载等概念和应用,包括集合类型的一些编码应用场景。通过这个案例可以快速帮助我们熟悉和深刻对PSLQL对象类型和集合类型能力域的掌握。一,问题背景