3月24日 Clover 阶段成果展示

突然发现有差不多一个月没有更新了,主要原因是随着Clover的开发走上正轨,每天都忙得要死,根本就没时间没心情更新。

所幸的事clover的开发终于到达了可以拿出来见见人的阶段~

Project Name:Clover

The goal of our design is to perform an easy way to simulate origami in computer.

Features — Basic Operations

Folding Up  (贴合对折)

Bending (打开)

Tucking In (向内翻折)

Fold with code (使用Python代码折叠)

Change Paper (更换纸张纹理)

Export Annotated Paper (输出带折线提示的纸张)

Other features:

›Magnetism (auto aligning)
›Auto camera
›Simulated paper elasticity
›Undo and redo
›Export folding script
›Export 3d model
 
Design And Architecture
 
Framework Overview

Data Structure — Abstract Layer

UI Layer — Tools And Visuals

关于这部分的更详细设计请参照:

http://www.cnblogs.com/kidshusang/archive/2012/02/07/2342007.html

由于对纸张的分组还存在一些问题,我们现在还不能折叠比较复杂的形状(暂时来说我们的目标是折出千纸鹤,但是在倒数第四步出错了……)。过两天解决了这个问题后要录视频,连上文档和ppt一同交给微软,希望我们的这个作品可以进入复赛吧!

另外我们今天无聊,想测试一下在电脑里面纸张是不是可以无限次对折,因为在现实中纸张是很难对折超过7次的。以下是在电脑中对折6次后的截图:

第7次折叠时,我的电脑整整花了半分钟才有响应。

到第8次程序崩溃了,好吧……

Clover有致命弱点,数据结构太复杂。简而言之,为了完整记录纸张折叠的信息,我们一共使用了一颗二叉树,一片二叉树森林,两个十字链表和一个栈来保存所有信息。并且,这些数据结构之间是相互引用的,构成了一个颇为复杂的网络。复杂的数据结构导致了极差的容错性,我们现在可谓是每前进一步都心惊胆战。然而,由于提交作品的时间紧迫,我们也无暇研究更优的解决方案。

我个人希望可以使用粒子系统来重构一遍Clover的纸张数据结构,我要先一个人慢慢研究研究。

本文链接