自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShaderJoy 的兴趣技术杂货铺

多了解一门技术,多一个思考维度

  • 博客(17)
  • 资源 (21)
  • 论坛 (1)
  • 收藏
  • 关注

原创 特效设计也需要设计模式—— 门面(Facade)模式【Java】

效果图外观模式(也称为门面模式),外观模式也属于结构型模式,这个场景其实在日常开发中使用的频率还是非常高的,也非常好理解的,简单的来讲就是将多个复杂的业务封装成一个方法,在调用此方法时可以不必关系具体执行了哪些业务,而只关心结果即可。外观模式是隐藏了系统的复杂性,能够为子系统中的一组接口提供一个统一的接口。客户在使用系统时不必和子系统打交道了,降低了客户和子系统间的耦合。完整代码点类 —— PointObj 的定义(子系统角色之一)class PointObj{ ...

2021-05-23 15:00:07 44

原创 ProcessingJoy —— 多种风格的字符马赛克【JAVA】

效果图原图完整代码//String letter[] = {"色","即","是","空","空","即","是","色"};//String letter[] = {"S","h","a","d","e","r","J","o","y"};String letter[] = {"P","r","o","c","e","s","s","i","n","g","J","o","y"};PImage img;ArrayList...

2021-05-23 10:14:20 89

原创 ProcessingJoy ——路径文字【JAVA】

效果图稍加修改后的彩色文字完整代码和注释float x = 0, y = 0;float stepSize = 5.0;String letters = "ProcessingJoy & ShaderJoy! ";float fontSizeMin = 3;float angleDistortion = 0.01;int counter = 0;PFont font;void setup() { // use full screen size ...

2021-05-16 12:09:26 58

原创 ProcessingJoy ——互斥的文字【JAVA】

效果图完整代码和注释String wordStr = "ProcessingJoy " + "ShaderJoy " + "ProcessingJoy " + "ShaderJoy ";char[] words = wordStr.toCharArray();color colors[] = {#000000, #ffffff};PFont font;PImage img;void preload() { font = createFont("cmb10.ttf", .

2021-05-16 11:09:30 38

原创 ProcessingJoy ——互斥的彩色粒子【JAVA】

效果图代码十分简单,所以就话不多说,直接看代码与注释完整代码与注释定义粒子的 Particle 类class Particle{ float mass = random(0.003, 0.03); PVector position; PVector velocity = new PVector(0, 0); color colors[] = {#52489c, #4062bb, #59c3c3, #ebebeb, #f45b69}; int idx = 0;

2021-05-16 07:46:26 53

原创 ProcessingJoy ——扑面而来的粒子【JAVA】

效果图完整代码和注释main.pdeParticle[] p = new Particle[800];int diagonal;void setup() { size(640, 480); for (int i = 0; i<p.length; i++) { p[i] = new Particle(); p[i].o = random(1, random(1, width/p[i].n)); } diagona...

2021-05-15 12:13:22 63

原创 ProcessingJoy ——扑面而来的 3D 文字【JAVA】

效果图完整代码与注释main.pdeString str = "Processing & Shader Joy ~";ArrayList<Type> str_arr = new ArrayList<Type>();PFont font;//let sdgreg;void preload() { font = createFont("cmb10.ttf", 97); //font = loadFont("LetterGothicStd-.

2021-05-15 11:12:39 58

原创 ProcessingJoy —— 直线连画【JAVA】

效果图完整代码与注释PImage img;float radius;PVector center;float totalPins = 50; ///< 圆周上分布针孔的个数float steps = 200; ///< 直线分段步长阈值float stepsPerFrame = steps * 0.01;float totalPoints = 20;ArrayList<Point> points = new ArrayList<Poi...

2021-05-15 09:21:14 36

原创 特效设计也需要设计模式—— 适配器模式【Java】

效果图什么是适配器模式在开发过程中,使用一个已经存在的类,而他的接口不符合我们的需求。这个时候我们本着开闭原则,要创建一个既符合我们需求又实现了已存在的接口的类,这个类可以把其他不相关或不可预见的类协同起来一起工作。我们创建的这个类就是适配器类,起到了一个转换的作用。完整代码和解释假设我们原有一个接口 IMove.javapublic interface IMove { void move();}但是它不满足我们当前的需求(直接修改的话,违反了开闭原则),因...

2021-05-05 04:19:00 35

原创 特效设计也需要设计模式—— 桥接模式【Java】

效果图球形粒子的缓动特效EasingEaseInCubicEasingEaseOutCubicEasingEaseInOutCubic什么是桥接模式桥接模式(Bridge Pattern)是将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Abstraction(抽象类):用于定义抽象类的接口,并且维护一个指向 Implementor 实现类的指针。它与 Implementor 之间具有关联关系(本立的 Dot.java)。 Refi...

2021-05-04 22:07:47 33

原创 ProcessingJoy —— 圆弧成画【JAVA】

效果图代码和完整注释首先我们来看看圆弧类的定义,Circle.pdeclass Circle { PVector pos; PVector prevPos; float dir; float radius; float angle; Circle(){}}主要的逻辑实现,由于代码很简单,那么我们就直接结合代码和注释来进行讲解main.pdeArrayList<Circle> circles = new Arr...

2021-05-04 19:32:29 47

原创 特效设计也需要设计模式—— 策略模式【Java】

效果图策略模式(Strategy Pattern)定义了一系列算法(以缓动算法为例),把它们一个个封装起来,并且使其可以互相替换。Strategy 可以使算法独立于使用算法的客户端。它有三个部分组成 Context(环境角色):持有一个对 Strategy 的引用,最终给客户端调用。 Strategy(抽象策略):定义了一个公共接口,让不同的算法以不同的方式来实现。通过这个接口,Context 可以调用不同的算法。 ConcreteStrategy(具体策略):实现 .

2021-05-04 06:30:31 32

原创 特效设计也需要设计模式—— 建造器模式【Java】

效果图建造者模式(Builder Pattern),它的目的是将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。它的定义包括如下四个部分 Builder(抽象建造者):为创建一个产品对象的各个部件指定抽象接口。 ConcreteBuilder(具体建造者):实现 Builder 的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。 Director(建造指导者):构造一个使用 Builder 接口的对象.

2021-05-04 03:39:33 29

原创 特效设计也需要设计模式—— 抽象工厂模式【Java】

效果图带描边的粒子效果原图承接上文特效设计也需要设计模式—— 工厂方法模式【Java】,工厂方法模式有它自身的缺陷,比如要求产品为同一类型的(比如圆形粒子),倘若要生产其他产品(例如:方形粒子),则需要再创建对应的工厂。如果这样的话,后续工厂会越来越多,非常难以管理。同时,假如这次又增加新的需求 —— “给圆形/矩形粒子加上描边”,那么我们应该怎么修改上一节中的代码以方便日后的扩展呢?为了解决这个问题,我们可以扩大现有工厂的规模,增加一条生产线,专门用来生产圆形粒子和方形粒子,这样...

2021-05-03 20:23:20 29

原创 特效设计也需要设计模式—— 工厂方法模式【Java】

效果图三角形粒子原图工厂方法模式在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的关键位置,它需要知道每一个产品(粒子)对象的创建细节,并决定何时实例化哪一个产品(粒子)类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,(在前文 特...

2021-05-02 23:53:30 35

原创 特效设计也需要设计模式—— 简单工厂模式【Java】

效果图圆形粒子方形粒子注:源代码是根据我的前文进行修改的ProcessingJoy —— 粒子流逝特效【JAVA】简单工厂简单工厂模式,又被称为静态工厂方法模式,属于创建型模式。其实质是工厂类根据传入的参数,动态的决定应该创建哪一个产品类的实例(本文则以创建不同形状的粒子为例)简单工厂的 UML 图Particle.java它是各种粒子的抽象基类(父类),即 UML 图中的抽象产品Product ,负责描述所有实例所共有的公共接口。...

2021-05-02 22:48:22 30

原创 特效设计也需要设计模式—— 单例模式(Singleton)【Java】

效果图什么是设计模式什么是设计模式?设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计程序精英们的经验总结为什么使用设计模式?使用设计模式是为了可重用代码(不修改或者少修改代码来解决新的问题),减少重复工作、让代码更容易被他人理解、保证代码可靠性。设计模式是编程过程中的一种中间层面的技巧或者经验(微观层面的如算法、数据结构、语法,宏观层面的如框架、工具箱、系统架构),是许多优秀的程序员通过大量实际项目的磨练所总结出来的 “内功秘...

2021-05-01 20:52:49 43

图像形状骨架提取细化 C++ 代码_c哩

基于 OpenCV 的 C++ 代码, Visual Studio 2017 工程,算法主要功能:提取图像中形状的骨架主干部分并细化

2020-12-11

清华大学操作系统PPT教程

清华操作系统PPT教程 清华操作系统PPT教程 清华操作系统PPT教程 清华操作系统PPT教程

2010-03-10

matplotlib-cpp 源码.zip

由于最近无法访问 github,所以上传这个代码,方便大家使用 原地址为(https://github.com/lava/matplotlib-cpp.git)

2020-02-06

精通Android增强现实源码

《精通Android增强现实源码》 作者:Raghav Sood What you’ll learn How to use most Android cameras How to find the user's location with GPS data How to detect movement and orientation of the device How to program against the accelerometer and compass How to use the AndAR library in marker recognition How to create an artificial horizon for your app How to integrate the Google Maps API into AR apps How to build enterprise augmented reality apps using the case studies in this book

2013-01-21

2D 折线顶点平滑算法

2D 折线顶点平滑算法—— 平滑折线通常可以通过两种方式: 通过插值,即在新的平滑曲线上,原始的折线点仍保持不变; 通过近似,这意味着新的平滑曲线将近似原始的折线,但原始点不会被保留下来。 本代码对两种方式都进行了展示。

2020-01-14

OpenCV310 Cmake

坑爹的OpenCV310 源码cmake需要额外下载opencv_ffmpeg.dll、opencv_ffmpeg_64.dll,、ffmpeg_version.cmake以及ippicv_windows_20151201.zip,否则configure报错

2016-10-17

NoiseVolume.dds

https://panda1234lee.blog.csdn.net/article/details/52198637 闪电特效所使用的纹理资源

2020-01-15

编译过的Cartoonifier_Android工程

《Master OpenCV with Pratical Computer Vision Projects》中的第一章编译过的Cartoonifier_Android工程

2013-08-21

纹理合成 C++ 代码

基于 SFML / OpenGL/ rapidxml 等库的 VS C++ 工程代码,根据各个纹理的尺寸自动选取最优算法(覆盖率最大)将多张纹理合成一张纹理图集,并输出 xml 配置文件

2020-12-10

星际彩球游戏【C语言】

这个游戏类似马里奥医生,但是和前次上传的星际彩球不同,这次是三个球左右翻,两个球360°旋转。

2010-02-01

Pro Android Augmanted Reality

What you’ll learn How to use most Android cameras How to find the user's location with GPS data How to detect movement and orientation of the device How to program against the accelerometer and compass How to use the AndAR library in marker recognition How to create an artificial horizon for your app How to integrate the Google Maps API into AR apps How to build enterprise augmented reality apps using the case studies in this book

2013-01-21

修改可以运行的“VC++实例精通08_CaptureVideo”

修改可以运行的“VC++实例精通08_CaptureVideo”

2012-04-15

C编写的星际彩球游戏

随机产生三个球或两个球,小球的颜色也是随机产生,该游戏类似俄罗斯方块或者是小霸王的马里奥医生。对了,三球和两球都是360°旋转的

2010-02-01

高数第5版课后答案(上册)

不好找哦~同济5版的高数课后答案【上册】 顶顶顶顶顶顶顶~~

2009-03-25

【两球】星际彩球游戏【C语言】

类似俄罗斯方块和马里奥医生的一款小游戏 只有两个球,实现360°旋转

2010-02-01

修改的可以运行的“DS开发指南第五章SimplePlayer.zip”

修改的可以运行的“DS开发指南第五章SimplePlayer.zip”

2012-04-15

Android多媒体开发高级编程 源码

清华大学出版社的《Android多媒体开发高级编程》源码, 作者:Shawn Van Every

2013-01-21

电子书——Ogre 3d 1.7 beginner's Guide - 2010

Ogre 3d 1.7 beginner's Guide - 2010

2013-12-04

同济第五版高数答案【下册】

同济第五版高数答案【下册】 不好找哦~~~~ 顶顶~~~~~~~~~~~~~~~~~~~~~~~~顶顶

2009-03-25

Developing Power-Efficient Software Systems on ARM Platforms

如何在arm架构上开发节能高效的软件系统

2013-09-21

软件工程-实践者的研究方法

软件工程-实践者的研究方法 软件工程-实践者的研究方法

2010-03-10

panda1234lee的留言板

发表于 2020-01-02 最后回复 2020-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除