手绘与码绘————趣味交互式绘画系统的实现

简介

设计思路

嗯,多说无益,先看看最终效果图吧!
展览模式
此模式用于欣赏(或者说观察)各种参数对图形变化的影响,这些参数将在代码章节具体介绍。

以下是新花样——玫瑰曲线的介绍。
在上一篇博文中我实现了笛卡尔之心的变换,而这一次我找到了另一个有趣的玩意——玫瑰曲线(Rose Curve)。这是一种可以生成类似花瓣样图形的函数。

其极坐标方程如下:

以下是不同参数下的玫瑰图案。这张图中的玫瑰曲线是由极坐标方程定义的,参数k=n/d。
仔细看,里面有笛卡尔之心的样子。遗憾的是,在系统中的参数k只能取整数,所以看不到那个熟悉的身影。

Morph_Brush
这个类是用于实现形态切换的。切换是靠向量的线性插值实现的。原理详见上篇博文,链接在参考文献中。

// this class is used to draw the process of the // graph's morph changeclass Morph_Brush{// the two state of one graph  ArrayListPVector> morphList1;  ArrayListPVector> morphList2;  boolean state = false;  boolean state2 = true;  int delayValue = 0;  ArrayListPVector> morph = new ArrayListPVector>();Morph_Brush(ArrayListPVector> ml1)  {    morphList1 = ml1;    for (int i = 0; i  morphList1.size(); i++) {morph.add(new PVector());    }  }Morph_Brush(ArrayListPVector> ml1, ArrayListPVector> ml2)  {    morphList1 = ml1;    morphList2 = ml2;    for (int i = 0; i  morphList1

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年11月26日
下一篇 2018年11月26日

相关推荐