闪电下载吧 最新软件 免费软件 绿色软件

教程资讯 软件专题

您的位置:SD124 > 工具软件 > WHY数学图形可视化工具(MathGraphViewer)绿色免费版

WHY数学图形可视化工具(MathGraphViewer)绿色免费版

  • 软件大小:未知
  • 更新日期:2018-06-20
  • 官方网站:闪电下载吧
  • 软件等级:★★★☆☆
  • 运行环境:Winxp/Win7/Win8/Win10
WHY数学图形可视化工具(MathGraphViewer)绿色免费版
  • 软件说明
  • 软件截图
  • 下载地址
  • 相关软件
  • 用户评论
  • 投诉建议: 858898909@qq.com
WHY数学图形可视化工具.是一款简单易用的可视化数学表达式效果软件,使用旨在帮助用户将数学表达式以图形的形式显示出来,输入一个二元数学表达式,含有两个参数变量X和Y,显示该数学表达式的三维图形.。软件的开发语言是C++,开发环境是VS2008,渲染使用的是D3D9,软件中定义一套简单易学的脚本语言,用于描述数学表达式。使用时需要先要将数学表达式写成该脚本的形式,解析脚本代码以生成相应的图形,能够生成曲线图形和曲面图形,目前只能处理显示表达式,软件绿色无需安装,解压即可使用,非常方便,需要的朋友不要错过了!

使用帮助

一、在文件夹”MathScript”中,提供了500个以上已经写好的数学表达式脚本文件.将数学脚本文件拖入到主界面中,即显示其图形.亦可以通过菜单项打开脚本文件.  
如果图形是一个3D图形,那么软件会自动为你切换到3D显示模式.使用鼠标右键拖动,以旋转视角.键盘上的WSAD,QERF,上下左右也对视角进行控制.这个不细讲了,用户自己去体验吧.如果图形是一个2D图形,打开时为二维显示模式,用户可以按下键盘上的’O’键,在3D,2D间进行切换.鼠标滚轮可以对视口进行缩放.  
下图为一个二维的视图:  
(2)UI界面  
按下键盘上的’U’键,会在左边显示一套UI控件:  
用于对一些显示属性的操作.可惜我的引擎目前不支持中文字体,所以先将就着用吧.  
(3)纹理设置  
按下键盘上的’0’键,会在右边显示一个纹理选择控件,用于设置数学曲面的纹理:  
UI面板上的也可以控制纹理选择控件.  
纹理文件存放在”Texture”文件夹下,用户可以将自己喜欢的图像文件放入其中.软件会自动为你加载.用户亦可以直接将图像文件拖入到主界面中.对图像格式的支持包括:dds,bmp,jpg,png,gif,tga.  
(4)显示控制  
当打开一个数学图形后,按下键盘上的’7’键,会显示一个滑动条控件,用于控制所显示的图形范围.控件也可以.滑动条上有两个滑块,分别表示其显示范围的最小与最大,如下图:黄线处为显的区域,绿线处为未显示的区域.  
最小滑块与最大滑块可以错开:  
下图为对曲面图形的操作  
下图为对曲线图形的操作:  
当打开一个数学曲面图形后,按下键盘上的’P’键或点下会在右下角显示两个对曲面上曲线进行操作的控件.  
如下图所展示:  
图中绿色曲线为第一维度的曲线,红色曲线为第二维度的曲线.  
(5)数学脚本面板
软件工具栏上的按钮用于打开脚本编辑面板.
用于打开脚本文件,编辑脚本,保存文件,解析脚本,输出编译信息.  
如果在这里编辑脚本,请记住按CTRL+回车才能实现换行.这个脚本编辑的控件不太好用,我自己写脚本通常是用TXT文本.  
如果没有图形显示,请看下编译信息输出.通常会为你提供一些出错信息.  
(6)快捷方式  
F5:数学脚本编辑界面  
F6:可视化属性面板  
F7:包围盒面板  
F9:系统配置面板  
F11:全屏切换  
ESC:退出全屏  
‘X’:恢复为默认视角  
‘Z’:将图形放置到视口中心  
'O':视图切换  
'U':开关UI界面  
'L':开关灯光  
'B':包围盒的可见属性切换  
'G':地平面网格的可见属性切换  
'M':坐标系轴的可见属性切换  
'N':地面的可见属性切换  
'P':MESH图形中,显示选择线  
'1':MESH图形中,面片可见,线框不可见  
'2':MESH图形中,面片不可见,线框可见  
'3':MESH图形中,面片可见,线框可见  
'4':MESH图形中,使用纹理色  
'5':MESH图形中,使用顶点色  
'6':MESH图形中,使用默认色  
'7':使用滑动条  
'8'显示数据信息  
'9':显示纹理设置控件  
'0':重新编译脚本(如果脚本中使用了随机数函数,则重新编译后,生成的图形会不一样)
二、脚本语法
(1)常量
系统中默认有5个常量值
PI 3.1415927
E 2.7182818
GOLD  0.6180034
SQRT2  1.4142136
SQRT3  1.7320508
常量名通常为大写字母,如 (PI + E) 或 sin(PI*0.5)
(2)数值解析
对整数的解析支持2,8,10,16四种进制
0X开头为16进制, XABCDEF大小写都可以, 如0xffff 
0Y开头为2进制, Y大小写都可以, 如0y10101010000
0开头为8进制, 如07523, 注意出现了"08"之类的会解析失败
默认为10进制
对浮点数的解析支持两种方式 
(1)形如”0.12”的格式,不能省略前面的0,
(2)科学表达格式.形如1.2e2
(3)顶点数目
所谓顶点数目是指表达式运算时所需要的输入数据.数据分为两类:
一维数据用于生成曲线图形,其定义如下:
vertices = 3600 // 设置顶点数目
二维数据用于生成生成曲面图形,其定义如下:
vertices = dimension1:80 dimension2:160 或
vertices = D1:80 D2:160
表示第一个维度的输入为80,第二个维度的输入为160,整体输入的顶点数目为80*160.
(4)变量及其赋值
   系统中使用a-z的26个英文小写字母表示变量,变量能够存储单个实数,或一个实数数组.如果为实数数据,则其数组大小为之前设置的顶点数目(见3).
设置为单个实数
a = 3.1415 // 将a赋值为3.1415
一维数组的设置
a = from 0 to 100    // a为一个实数数组,数组大小为vertices的设置,数值为线性插值求得.
二维数据的设置
a = from 0 to (2*PI) dimension1
b = from (-PI*0.5) to (PI*0.5) dimension2
或者
a = from 0 to (2*PI) D1
b = from (-PI*0.5) to (PI*0.5) D2
变量中x,y,z将组成3D顶点位置坐标
r,g,b将组成顶点颜色.其值范围在0-1.0之间.如果没有设置r,g,b,将使用默认方式生成顶点色.
u,v为顶点的纹理坐标,如果没有设置u,v,将使用x,z生成顶点的纹理坐标.
(5)运算符
运算符这一块比较难解释,用户最好看下
 ”. \MathGraph\Project\MathExpression\operator.cpp”文件中的代码
以及文件夹” \MathScript\函数面\”里面的脚本文件
标准单目运算符
+,-
如:a = -b
 
标准双目运算符
+,-,*,/,%,^ <,>,=,&,|
如:c = a * b 如果a,b都为单个实数则运算结果c也是单个实数,否则c为实数数组
 
函数单目运算符 形如sin(a)
positive,negative,abs,floor,ceil,sign,sqrt,exp,log,log2,log10,sin,cos,tan,asin,acos,atan,rand  
 
函数双目运算符 形如pow(a, b)
add,sub,multiply,divide,max,min,mod,pow,atan2,rand2,   
函数三目运算符 形如lerp(a, b, r)
lerp,clamp,gray,add3,min3,max3,average3
 
函数四目运算符 形如average4(a, b, c, d)
add4,min4,max4,average4
 
函数数组运算符(输入实数数组,输出一个浮点数,如求最大值,最小值,数组加和等)
add_array,min_array,max_array,ave_array
函数数组运算符(输入实数数组,输出也是实数数组,如求数组左移,数组右移,前向累加等)
array_move_right,array_move_left,array_cumulate
(6)运算符嵌套
支持{}, [], ()这三类括号标志符,括号必需成对出现.支持最大32级括号的嵌套.如: 
(2+(-2+(5.0*(9 + ((1+2)*3))/3) + 2))
-{exp[5*sqrt(1 -abs[sin{rand(100)}]) + 6]}
(7)示例
Sin曲线
vertices = 1200
x = from (-4*PI) to (4*PI)
y = sin(x)

vertices = 360
w = from 0 to (2*PI)
r = 10.0
x = r*sin(w)
y = r*cos(w)

曲线球
vertices = 3600
w = from 0 to 32
a = mod(w, 1) * 2 * PI
b = from 0 to PI
r = 10.0
x = r*sin(a)*sin(b)
y = r*cos(a)*sin(b)
z = r*cos(b)

线圈
vertices = 36000
a = rand2(8, 64)
b = rand2(4, 64)
c = a + b
s = c / b
o = rand2(4, b)
i = from 0 to (360*2*PI)
j = mod(i, 2*PI)
k = mod(s*i, 2*PI)
m = a*sin(j)
n = a*cos(j)
x = m + o*sin(k)
y = n + o*cos(k)

地形面
vertices = dimension1:320 dimension2:320
x = from (-4) to (4) dimension1
z = from (-4) to (4) dimension2
r = x^2 + z^2
y = sin(x^2 + z^2*3)/(0.05 + r) + (x^2 + z^2*5)*exp(1 -r)/2
抛物线曲面
vertices = dimension1:101 dimension2:101
x = from (-100) to (100) dimension1
z = from (-100) to (100) dimension2
y = (20000 - x^2 - z^2)*0.005

三维球体
vertices = dimension1:36 dimension2:72
a = from 0 to (2*PI) dimension1
b = from (-PI*0.5) to (PI*0.5) dimension2
r = 10.0
x = r*cos(b)*sin(a)
y = r*sin(b)

z = r*cos(b)*cos(a)
圆锥体
vertices = D1:72 D2:72
u = from 0 to (2) D2
v = from 0 to (2*PI) D1
a = 1.0
b = 0.5
c = sin(v);d = cos(v);
e = sin(b);f = cos(b);
g = sin(a);h = cos(a);
x = f*h*d - f*g*c + e*3
y = g*d + h*c
z = -e*h*d + e*g*c + f*3
x = x*u
y = y*u
z = z*u

使用说明

数学表达式的规范说明:
(1)标准运算符
支持+,-,*,/,%,^这6种标准运算符,其中:
%为求余运算, a%b 相当于 mod(a, b);
^为求幂运算, a^b 相当于 pow(a, b);
(2)括号标志符
支持{}, [], ()这三类括号标志符,括号必需成对出现.支持最大32级括号的嵌套.如:
(2+(-2+(5.0*(9 + ((1+2)*3))/3) + 2))
-{exp[sqrt(abs[sin{rand(100)}])]}
(3)支持函数形式的运算符
运算符的函数名必需为小写字母.具体说明如下:
单目运算操作:
positive(a)  // 相当于 +a
negative(a)  // 相当于 -a
abs(a)
floor(a)
ceil(a)
sign(a)
sqrt(a)  // a为负时,会得到数值0
exp(a)  // a过大时,会得到数值0
log(a)  // a为负时,会得到数值0
log2(a)  // a为负时,会得到数值0
log10(a) // a为负时,会得到数值0
sin(a)
cos(a)
tan(a)
asin(a)
acos(a)
atan(a)
rand(a)  // 生成一个0到a的随机数
双目运算操作:
add(a, b)
sub(a, b)
multiply(a, b)
divide(a, b)
max(a, b)
min(a, b)
mod(a, b)
pow(a, b)  // 很容易得到无效的数值
atan2(a, b)
rand2(a, b)  // 生成一个a到b的随机数
在之前的"数学表达式解析工具"中支持若干个三元和四元的运算函数,但这里不支持,等以后做优化再说.
(4)常量值
有两个常量值
PI 3.1415927
E 2.7182818
常量名必需为大写字母,如(PI + E)或 sin(PI*0.5)
(5)数值解析
对整数的解析支持2,8,10,16四种进制
0X开头为16进制, XABCDEF大小写都可以, 如0xffff
0Y开头为2进制, Y大小写都可以, 如0y10101010000
0开头为8进制, 如07523, 注意出现了"08"之类的分失败
默认为10进制
(6)可以设置XY两个参数, XY大小写都可以.

有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧