最近在设计流程图,偶然发现这款软件,比较容易上手,效率不错,推荐给大家
推荐理由:小巧,方便、快捷。另,功能还很强大。
一、软件基本介绍
1:新建文件
如上图,点击New,即可创建文件。将会建立一个以.ddd为后缀的文件,这个文件貌似只有这个软件能编辑、处理。
注意Open in new window 选项,这个功能可以让我们同时编辑多个文件。
2:导出成图片文件
点击Export page 即可导出当前编辑的图片。这个功能很重要,我们用这个软件就是用来画图的。导出的格式有很多选择(JPG,PNG….),按自己的需求选择便可。
3:选择画图的类型
右键点击布局的右侧工具栏,Load template palette….可以选择各种画图所需要的组件。点击选择即可。
把各种组件往中间画布里面拖,即可完成做图。
4:调正画布,美化组件
Diagram à Page properties 可以对当前画布的高度、宽度进行调整。
注意红色箭头指向的快捷工具栏,很好使用的工具。
选择组件,右键 选择Properties 可对当前的组件进行调正,根据组件性质的不同可以修改背景、边框等等属性。也可以进行删除、移动、复制等操作。
如果你想在上面写上文字的话,双击组件便可操作。注意看说明,可以对字体进行处理…
二、此外,还发现一个比较好玩的功能 Diagram Designer Expression Evaluator
1、Diagram Designer 的表达式求值工具
下图为 Diagram Designer 的表达式求值工具:
在程序的帮助手册中,对这个表达式求值工具的使用有着较为详细的描述。(在【Using Diagram Designer】的【Expression Evaluator】章节,不过内容是英文的)
里面提到了这个表达式求值工具有下面几个特征(Notable Features):
- trigonometric functions(计算三角函数)
- hyperbolic functions(计算双曲函数)
- logical operators(逻辑运算符)
- named user variables can be created and used(用户可以自定义命名和使用变量)
- recursive descent parsing (ie. handles nested terms) (递归下降分析法)
- equations can be programmed and used later(可以编写方程并在之后使用)
- multi-line programming with a single result (多行程序输出单个结果)
- some constants built-in, more can be added by user using expressions(除了已经被写入的常量,用户还可以加入更多表达式)
- equation solving (roots, minimums, etc.) and plotting - plots can be inserted into diagrams(解方程,绘制函数图像)
帮助文档中对于编辑器各部分区域的命名如下图,本文将沿用这些称呼:
其中,【Expression Area】(表达式区)是用户键入表达式的地方,【Result Area】(结果区)是工具显示计算结果的地方,左下角的【Available Functions & User Vars, etc】是目前编辑器内已经注册的函数和变量,可以被直接使用。
2、表达式求值方法
用户可以在表达式区里输入下面三种格式的文本:
1):Variable_name=variable_contents;
为变量赋值,可以创建新变量,也可以更新既有变量的值。如 :abc=123; 代表将123赋给变量abc
2):Function_name(function_variable)=expression_in_variable;
创建函数,这里的函数只能有一个自变量,如 :f(x)=x^2; 是可以的,但 :f(x,y)=x^2+y^2; 的不可以的
3)expression_to_evaluate
计算表达式,如输入 sin(1),在结果区会显示“0.841470984808”
3、运算符
表达式求值工具中可以使用下面几个运算符:
运算符 说明信息 & 逻辑与(非0数字都被视为真) | 逻辑或(非0数字都被视为真) = 等于,等号两侧的值相等则返回1,否则返回0 # 不等于,不等号两侧的值相等则返回0,否则返回1 > 大于等于,结果为真则返回1,否则返回0 < 大于等于,结果为真则返回1,否则返回0 + 加法运算 - 减法运算,负号 * 乘法运算(乘以) / 除法运算(除以) % 求余运算【注】 ^ 求幂运算,x^y 代表 x 的 y 次幂
【注】:求余运算中,帮助手册里的说法并不准确。帮助中的原文是
Result is the remainder of integer division, eg. 16.1%3.03 is equivalent to 16/3. Remainder (result) in this example is 1.
即模除时所有非整数会被转换为整数再做运算,但这个说法经过实施检验不能成立 16/3 的值是1,而 16.1%3.03 的值是0.95
4、常量
表达式求值工具内默认的常量如下:
常量 值 e 2.718281828459 (自然对数)
inf infinity (≈ 1 / 0) (无穷大,值为INF)
kb 1024 (2的10次方)
Mb 1048576 (2的20次方)
pi 3.14159265359 (圆周率)
这里的常量只是几个最为基本的常量
5、函数
1)三角函数
三角函数 返回值 cos(x) 余弦函数,x为弧度 arccos(x) 反余弦函数 sin(x) 正弦函数,x为弧度 arcsin(x) 反正弦函数 tan(x) 正切函数,x为弧度 arctan(x) 反正切函数 cot(x) 余切函数
注意:这里的三角函数中并没有反余切函数;也没有正割、余割、正矢、余矢等三角函数
2)双曲函数
双曲函数 返回值 cosh(x) 双曲余弦 cosh(x) = (e x + e -x) / 2 arccosh(x) 反双曲余弦 sinh(x) 双曲正弦 sinh(x) = (e x - e -x) / 2 arcsinh(x) 反双曲正弦 tanh 双曲正切 tanh(x) = sinh(x) / cosh(x) arctanh(x) 反双曲正切
3)取整函数
取整函数 返回值 ceil(x) 取天花板,返回比x大的最小整数 floor(x) 取地板,返回比x小的最大整数 frac(x) 获取一个实数的分数部分 round(x) 类似四舍五入,返回与输入的实数最接近的整数,在这里0.5会被舍而不是入,如4.5会被舍到4,4.51才会被入到5
4)随机数
随机数
返回值 rand(x) 返回在0-x间的实数,使用白噪声生成器生成 randn(x) 返回高斯随机数,x为标准差
5)指数函数与对数函数
对数函数 返回值 exp(x) 指数函数 exp(x) = e x ln(x) 以e为底的对数(自然对数) log10(x) 以10为底的对数(常用对数) log2(x)
以2为底的对数
6)其他函数
其他函数 返回值 abs(x) 绝对值 bin(x) 将二进制数字转换为十进制 fac(x) 计算阶乘 sqrt(x) 计算算术平方根
6、解方程
Diagram Designer可以解一些最简单的方程,方法如下:
函数 说明 num.Guess 用于猜测方程的解,单独使用时无意义,默认值为 0.500000001 num.argmin(expression,x) num.argmin(f(x),x),获取函数 f(x)=expression 的最小值,如 num.argmin((x-1)*(x-1)+4,x) 的值是 1.000000001 num.min(expression,x) num.min(f(x), x),获取函数 f(x)=expression 在取到最小值时x的取值,如 num.min((x-1)*(x-1)+4,x) 的值是 4 num.root(expression,x) 获取方程 expression=0 在 num.Guess 附近的根,如方程 x^2+5*x+4=0,在num.Guess为0.500000001(默认值)时,num.root(x^2+5*x+4,x)返回-1,在num.Guess为6时,返回4 num.solve(equation,x) 获取方程 equation 在 num.Guess 附近的根,如方程 x^2+5*x+5=1,在num.Guess为0.500000001(默认值)时,num.solve(x^2+5*x+5=1,x) 返回-1,在num.Guess为6时,返回4
7、绘制函数图像
绘制函数图像要使用到plot函数,用法为:plot(expression,x)
绘制的图像是函数 f(x)=expression 的图像,输入:plot(4*x^3+3*x^2-2*x+1,x) 得到的图像为:
按下Plot窗口中的Copy(复制)按钮,在DiagramDesigner中“Ctrl+V”或鼠标右键菜单中点击“Paste”(粘贴,快捷键Shift+Ins也可以做到),就可以将这个函数的图像复制到DiagramPane上了,如下图所示: