Skip to content

wokron/FunctionSketchPro

Repository files navigation

FunctionSketch(Pro) 说明文档

一、简述

本文档将介绍程序函数画板的主要功能和基本操作。函数画板是一款轻量的函数绘制软件。支持单变量函数、参数方程、隐函数的绘制。可以采用直角坐标和极坐标绘制简单图像,并带有求导、积分、二维线性变换等功能。

二、函数绘制

1、添加函数

运行exe文件后,将进入程序的主界面。如下图所示。

点击右侧“函数列表”栏内的加号按钮,将出现表达式的输入框。

输入函数表达式后按回车键(或采取使输入框不再被选中的操作),若表达式正确,则会将该表达式所对应的函数绘制到主界面左侧的窗口上。

其中正确的表达式包括如下几种情况:

  1. 表示单变量函数 此时表达式请以x为自变量,不忽略运算符(特别注意,对数如logm(n)请写作mlogn)。表达式前可忽略“y=”。例如“y=x+x^2”或“x*(elogx)”
  2. 表示参数方程 此时请同时输入两个单变量函数表达式,以x或t为自变量,两表达式间以逗号间隔。注意请不要在两个表达式前添加“x=”或“y=”。例如“t^2,t”或“sinx,cosx”
  3. 表示隐函数(或一般的方程) 此时请以x,y表示横纵两坐标轴对应的变量。表达式中必须包含等号。例如“x^2+y^2=1”。当等式左侧为“y=”时自动转换为单变量函数计算。

另外,一次输入可以绘制多个图像。若要输入多个表达式,请将各表达式以分号间隔。

2、函数属性设置

添加函数后,函数图像将在左侧窗口内显示,同时右侧函数列表栏内也会出现记录该函数信息的卡片(超出范围的卡片可以滑动滚轮以查看)。

每一个函数信息卡右侧有两个按钮。上面标有“x"字的按钮点击后可关闭该函数卡并删除左侧窗口内对应的函数图像。下面显示“···”符号的按钮,点击后可以设置该函数相关的属性。主要包括如下内容。

  1. 坐标形式 单变量函数和参数方程共有。设置图像以直角坐标或极坐标形式呈现。
  2. 线性变换 单变量函数和参数方程共有。表示一个2*2矩阵。在绘制过程中,图像的每一个坐标点会与该矩阵相乘。
  3. 位移 单变量函数和参数方程共有。表示一个二维矢量。在绘制过程中,图像的每一个坐标点会与该矢量相加。
  4. 积分 单变量函数特有。表示一个积分区间。默认不计算积分(积分范围NaN->NaN)。若输入正确的积分范围,则会在左侧窗口内将求积分的面积涂色。并在信息卡上显示积分结果。
  5. 求导 单变量函数特有。点击求导按钮后会求一阶导数,并将得到的新函数添加到函数列表栏的末尾。图像也会在左侧窗口内显示。
  6. 参数范围 参数方程特有。用以表示参数的范围。左侧窗口内只会绘制参数范围内的图像。

三、保存文件

1、保存当前函数图像

点击主窗口上侧菜单栏“文件”选项。其中第一项“保存”可以将当前绘制的图像保存为图片格式(当前暂时只支持jpg格式)。

2、查看默认保存位置

第二项“打开默认保存路径”会打开exe所在路径之下的SaveImage文件夹。可用于作为保存文件的位置。

四、设置

1、绘制设置

点击菜单栏“设置”选项,会打开一个设置窗口。

其中前三项用于绘制设置。

  1. 显示范围 相对位置用于设置当前显示位置与默认位置的偏移量。可以理解该值为一个表示当前窗口显示的位置相对于原点的坐标。 显示宽度用于设置当前窗口宽度下,横坐标数值的变化范围。 (该项设置也可以在主界面显示窗口用鼠标拖动和滚轮实现。)
  2. 线条颜色 设置图像曲线、坐标轴、积分区域的颜色。
  3. 线条宽度 设置图像曲线、坐标轴线条的粗细。注意该粗细不会随着窗口的缩放而发生变化。

2、算法设置

设置窗口第四项用于设置算法相关参数。算法原理详见设计文档。

  1. 基本 最小绘制间隔即生成基本绘制点时自变量的间隔。
  2. 平滑算法 平滑算法用于处理曲率较大的情况。平滑率表示连点绘制的曲线的“尖锐度”的阈值,过于“尖锐”的部分将被试图平滑。最大递归层数用于避免过深的递归,减少绘制时间。
  3. Marching Square算法 Marching Square算法用于处理一般方程,能较有效地绘制隐函数图像。但计算量较大,以dx为单位长度绘制速度较慢。因此以dx乘以某一常数得到的长度作为新的单位长度,该常数即方块比例。

五、帮助

1、查看源代码

点击菜单栏“帮助”选项,第一项“源代码”点击后会转到保存该程序源代码的github仓库。

2、操作说明

第二项“操作说明”可以打开一个新的帮助窗口,其中记录了一些较为常见的操作的提示。可在使用时随时查看。

About

FunctionSketch is a simple function drawing tool

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages