aspectratio icem中ratio是什么意思
大家好,今天来为大家分享aspectratio的一些知识点,和icem中ratio是什么意思的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
graphics.h的曲线函数
在一个屏幕上画得很圆的图形到另一个屏幕上可能被压扁或拉长,这是因为每一种显示卡与之相应的显示模式都有一个纵横比。纵横比是指像素的水平方向大小与垂直方向大小的比值。如VGA显示卡由于偈素基本上是正方形,所以纵横比为1.000。
为了保证几何图形基本按预计情况显示在屏幕上,用屏显的纵横比来计算和纠正不同硬件及显示卡产生的畸变。计算纵横比所需要的水平方向和垂直方向的比例系数可调用函数getaspectratio()获得。功能:函数getaspectratio()返回x方向和y方向的比例系数,用这两个整型值可计算某一特定屏显的纵横比。
用法:此函数调用方式为voidgetaspectratio(int xasp,int yasp);
说明:参数xasp指向的变量存放返回的x方向比例系数;参数yasp指向的变量存放返回的y方向比例系数。通常y方向比例系数为10 000, x方向比例系数不大于10 000(这是因为大多数屏幕像素高比宽长)。
注意纵横比自动用作下面函数arc(),circle()和pieslice()中的标尺因子,使屏幕上圆或弧正常显示。但用ellipse()函数画椭圆必须调用本函数获取纵横比作为标尺因子,否则不予调整。纵横比可用于其它几何图形,目的是校正和显示图形。
getaspectratio()函数对应的头文件为graphics.h
返回值:返回x与y方向比例系数分别存放在xasp和yasp所指向的变量中。
例:下面的程序显示纵横比:
int xasp,yasp;
float aspectratio;
getaspectratio(&xasp,&yasp);
aspectratio=xasp/yasp;
printf(aspect ratio:%f,aspectratio);功能:函数circle()使用当前绘图色并以实线画一个完整的圆。
用法:该函数调用方式为void circle(int x,int y,int radius);
说明:参数x,y为圆心坐标,radius为圆半径,用像素个素表示。注意,调用circle()函数画圆时不用当前线型。
不同于ellipse()函数,只用单个半径radius参数调用circle()函数,故屏显纵横比可以自动调节,以产生正确的显示图。
此函数对应的头文件为graphics.h
返回值:无
例:画六个同心圆,圆心在(100,100)。
#i nclude<graphics.h>
void main()
{
int driver,mode;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,);
circle(100,100,10);
circle(100,100,20);
circle(100,100,30);
circle(100,100,40);
circle(100,100,50);
circle(100,100,60);
getch();
restorecrtmode();
}功能:函数arc()使用当前绘图色并以实线画一圆弧。
用法:函数调用方式为void arc(int x,int y,int startangle,int endangle,int radius);
说明:参数x,y为圆心坐标,startangle与endangle分别为起始角与终止角,radius为半径。圆心坐标和半径以像素个数给出,起始角和终止角以度为单位,0度位于右边,90度位于顶部,180度位于左边,底部是270度。同往常一样,360度与0度重合。角度按逆时针方向增加,但并不要求终止角一定比起始角大。例如指定300度和90度分别为起始角和终止角,与指定300度和450度分别为起始角和终止角可画出相同的弧。大于360度可作为参数,它将被化到0度 ̄360度范围里。函数arc()能画封闭圆,只要取起始角为0度,终止角为360度即可。此函数中,屏显纵横比可自动调节。
arc()函数对应的头文件为graphics.h
返回值:无
例:以(200,200)为圆心,100为半径,从0度到120度画圆弧:
#i nclude<graphics.h
void main()
{
int driver,mode;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,);
setcolor(WHITE);
arc(200,200,0,120,100);
getch();
restorecrtmode();
}
icem中ratio是什么意思
是一个网格变形程度的数值,也可以认为是网格质量。具体是,
三角形网格:aspect
ratio=(单元面积/最长边)/(理想单元面积/理想最长边);
三棱锥:aspect
ratio=(单元体积/(一个面的外切圆半径)³)/(前面的理想值);
六面体:aspect
ratio=最短边/最长边
其他单元类型就不逐一写出来了,如果想知道阁下就提出来
Mathematica 到底有多厉害
Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一。Mathematica的发布标志着现代科技计算的开始。Mathematica是世界上通用计算系统中最强大的系统。自从1988发布以来,它已经对如何在科技和其它领域运用计算机产生了深刻的影响。
Mathematica和MATLAB、Maple并称为三大数学软件
基本运算
a+
mathematica数学实验(第2版)
b+c加
a-b减
a b c或 a*b*c乘
a/b除
-a负号
a^b次方
Mathematica数字的形式
256整数
2.56实数
11/35分数
2+6I复数
常用的数学常数
Pi圆周率,π=3.141592654…
E欧拉常数,e=2.71828182…
Degree角度转换弧度的常数,Pi/180
I虚数单位,其值为√-1
Infinity无限大
指定之前计算结果的方法
%前一个运算结果
%%前二个运算结果
%%…%(n个%)前n个运算结果
%n或 Out[n]前n个运算结果
复数的运算指令
a+bI复数
Conjugate[a+bI]共轭复数
Re[z], Im[z]复数z的实数/虚数部分
Abs[z]复数z的大小或模数(Modulus)
Arg[z]复数z的幅角(Argument)
Mathematica输出的控制指令
expr1; expr2; expr3做数个运算,但只印出最后一个运算的结果
expr1; expr2; expr3;做数个运算,但都不印出结果
expr;做运算,但不印出结果
常用数学函数
Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x]三角函数,其引数的单位为弧度
Sinh[x],Cosh[x],Tanh[x],…双曲函数
ArcSin[x],ArcCos[x],ArcTan[x]反三角函数
ArcCot[x],ArcSec[x],ArcCsc[x]
ArcSinh[x],ArcCosh[x],ArcTanh[x],…反双曲函数
Sqrt[x]根号
Exp[x]指数
Log[x]自然对数
Log[a,x]以a为底的对数
Abs[x]绝对值
Round[x]最接近x的整数
Floor[x]小于或等于x的最大整数
Ceiling[x]大于或等于x的最小整数
Mod[a,b] a/b所得的余数
n!阶乘
Random[] 0至1之间的随机数(最新版本已经不用这个函数,改为使用RandomReal[])
Max[a,b,c,...],Min[a,b,c,…] a,b,c,…的极大/极小值
数值设定
x=a将变数x的值设为a
x=y=b将变数x和y的值均设为b
x=.或 Clear[x]除去变数x所存的值
变数使用的一些法则
xy中间没有空格,视为变数xy
x y x乘上y
3x 3乘上x
x3变数x3
x^2y为 x^2 y次方运算子比乘法的运算子有较高的处理顺序
四个处理指令
Expand[expr]将 expr展开
Factor[expr]将 expr因式分解
Simplify[expr]将 expr化简成精简的式子
FullSimplify[expr] Mathematica会尝试更多的化简公式,将 expr化成更精简的式子
多项式转换
ExpandAll[expr]把算式全部展开
Together[expr]将 expr各项通分在并成一项
Apart[expr]把分式拆开成数项分式的和
Apart[expr,var]视var以外的变数为常数,将 expr拆成数项的和
Cancel[expr]把分子和分母共同的因子消去
分母分子运算
Denominator[expr]取出expr的分母
Numerator[expr]取出expr的分子
ExpandDenominator[expr]展开expr的分母
ExpandNumerator[expr]展开expr的分子
转换函数
Collect[expr,x]将 expr表示成x的多项式,
如
Collect[expr,{x,y,…}]将 expr分别表示成 x,y,…的多项式
FactorTerms[expr]将 expr的数值因子提出,
如 4x+2=2(2x+1)
FactorTerms[expr,x]将 expr中把所有不包含x项的因子提出
FactorTerms[expr,{x,y,…}]将 expr中把所有不包含{x,y,...}项的因子提出
函数指数运算
TrigExpand[expr]将三角函数展开
TrigFactor[expr]将三角函数所组成的数学式因式分解
TrigReduce[expr]将相乘或次方的三角函数化成一次方的基本三角函数之组合
ExpToTrig[expr]将指数函数化成三角函数或双曲函数
TrigToExp[expr]将三角函数或双曲函数化成指数函数
次方乘积
ComplexExpand[expr]假设所有的变数都是实数来对 expr展开
ComplexExpand[expr,{x,y,…}]假设x,y,..等变数均为复数来对 expr展开
PowerExpand[expr]将
系数最高次方
Coefficient[expr,form]于 expr中form的系数
Exponent[expr,form]于 expr中form的最高次方
Part[expr,n]或 expr[[n]]在 expr项中第n个项
代换运算子
expr/.x->value将 expr里所有的x均代换成value
expr/.{x->value1,y->value2,…}执行数个不同变数的代换
expr/.{{x->value1},{x->value2},…}将 expr代入不同的x值
expr//.{x->value1,y->value2,…}重复代换到 expr不再改变为止
求解方程式
Solve[lhs==rhs,x]解方程式lhs==rhs,求x
Nsolve[lhs==rhs,x]解方程式lhs==rhs的数值解
Solve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}]解联立方程式,求x,y,…
NSolve[{lhs1==rhs1,lhs2==rhs2,…},{x,y,…}]解联立方程式的数值解
FindRoot[lhs==rhs,{x,x0}]由初始点x0求lhs==rhs的根
四种括号
(term)圆括号,括号内的term先计算
f[x]方括号,内放函数的引数
{x,y,z}大括号或串列括号,内放串列的元素
p[[i ]]或 Part[p,i]双方括号,p的第i项元素
p[[i,j]]或 Part[p,i,j] p的第i项第j个元素
缩短输出指令
expr//Short显示一行的计算结果
Short[expr,n]显示n行的计算结果
Command;执行command,但不列出结果
查询物件
?Command查询Command的语法及说明
??Command查询Command的语法和属性及选择项
?Aaaa*查询所有开头为Aaaa的物件
定义查询清除
f[x_]= expr立即定义函数f[x]
f[x_]:= expr延迟定义函数f[x]
f[x_,y_,…]函数f有两个以上的引数
?f查询函数f的定义
Clear[f]或 f=.清除f的定义
Remove[f]将f自系统中清除掉
含有预设值的Pattern
a_+b_. b的预设值为0,即若b从缺,则b以0代替
x_ y_ y的预设值为1
x_^y_ y的预设值为1
条件式的自订函数
lhs:=rhs/;condition当condition成立时,lhs才会定义成rhs
If指令
If[test,then,else]若test为真,则回应then,否则回应else
If[test,then,else,unknow]同上,若test无法判定真或假时,则回应unknow
极限
Limit[expr,x->c]当x趋近c时,求expr的极限
Limit[expr,x->c,Direction->1]
Limit[expr,x->c,Direction->-1]
微分
D[f,x]函数f对x作微分
D[f,x1,x2,…]函数f对x1,x2,…作微分
D[f,{x,n}]函数f对x微分n次
D[f,x,NonConstants->{y,z,…}]函数f对x作微分,将y,z,…视为x的函数
全微分
Dt[f]全微分df
Dt[f,x]全微分
Dt[f,x1,x2,…]全微分
Dt[f,x,Constants->{c1,c2,…}]全微分,视c1,c2,…为常数
不定积分
Integrate[f,x]不定积分∫f dx
定积分
Integrate[f,{x,xmin,xmax}]定积分
Integrate[f,{x,xmin,xmax},{y,ymin,ymax}]定积分
列之和与积
Sum[f,{i,imin,imax}]求和
Sum[f,{i,imin,imax,di}]求数列和,引数i以di递增
Sum[f,{i,imin,imax},{j,jmin,jmax}]
Product[f,{i,imin,imax}]求积
Product[f,{i,imin,imax,di}]求数列之积,引数i以di递增
Product[f,{i,imin,imax},{j,jmin,jmax}]
泰勒展开式
Series[expr,{x,x0,n}]对 expr于x0点作泰勒级数展开至(x-x0)n项
Series[expr,{x,x0,m},{y,y0,n}]对x0和y0展开
关系运算子
a==b等于
a>b大于
a>=b大于等于
a<b小于
a<=b小于等于
a!=b不等于
逻辑运算子
!p not
p||q||… or
p&&q&&… and
Xor[p,q,…] exclusive or
LogicalExpand[expr]将逻辑表示式展开
二维绘图指令
Plot[f,{x,xmin,xmax}]
画出f在xmin到xmax之间的图形
Plot[{f1,f2,…},{x,xmin,xmax}]
同时画出数个函数图形
Plot[f,{x,xmin,xmax},option->value]
指定特殊的绘图选项,画出函数f的图形
Plot几种指令
选项预设值说明
AspectRatio 1/GoldenRatio图形高和宽之比例,高/宽
Axes True是否把坐标轴画出
AxesLabel Automatic为坐标轴贴上标记,若设定为
AxesLabel->{?ylabel?},则为y轴之标记。若设定为AxesLabel->{?xlabel?,?ylabel?}
,则为{x轴,y轴}的标记
AxesOrigin Automatic坐标轴的相交的点
DefaultFont$DefaultFont图形里文字的预设字型
Frame False是否将图形加上外框
FrameLabel False从x轴下方依顺时针方向加上图形外框的标记
FrameTicks Automatic(如果Frame设为True)为外框加上刻度;
None则不加刻度
GridLines None设Automatic则于主要刻度上加上网格线
PlotLabel None整张图之图名
PlotRange Automatic指定y方向画图的范围
Ticks Automatic坐标轴之刻度,设None则没有刻度记号出现
※“Automatic、None、True、False”为Mathmatica常用的选项设定,其代表意义分别为“使用内部设定、不包含此项、作此项目、不作此项目”。
串列绘图
ListPlot[{y1,y2,…}]画出{1,y1},{2,y2},…的点
ListPlot[{{x1,y1},{x2,y2},…}]画出{x1,y1},{x2,y2},…的点
ListPlot[{{x1,y1},{x2,y2},…},PlotJoined->True]把画出来的点用线段连接
绘图颜色指定
Plot[{f1,f2,…},{x,xmin,xmax},
PlotStyle->{RGBColor[r1,g1,b1],RGBColor[r2,g2,b2],…}]
彩色绘图
Plot[{f1,f2,…},{x,xmin,xmax},
PlotStyle->{GrayLevel,GrayLevel[j],…}]
灰阶绘图
图形处理指令
Show[plot]重画一个图
Show[plot1,plot2,…]将数张图并成一张
Show[plot,option->opt]加入选项
图形之排列
Show[GraphicsArray[{plot1,plot2,…}]]将图形横向排列
Show[GraphicsArray[{,,…}]]将图形垂直排列
Show[GraphicsArray[{{plot1,plot2,…},…}]]将图形成二维矩阵式排列
二维参数图
ParametricPlot[{f1,f2},{t,tmin,tmax}]
参数绘图
ParametricPlot[{{f1,f2},{g1,g2},…},{t,tmin,tmax}]
同时绘数个参数图
ParametricPlot[{f1,f2},{t,tmin,tmax},AspectRatio->Automatic]
保持曲线的真正形状,即x,y坐标比为1:1
等高线图
ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]
于指定范围之内画出f的等高线图
ContourPlot选项
选项预设值说明
ColorFunction Automatic上色的预设值为灰阶,选Hue则为系列色彩
Contours 10等高线的数目。设Contours->{z1,z2,…}则指定等高值为z1,z2,…
ContourShading True Contour的上色,选False则不上色
PlotRange Automatic高度z值的范围,也可指定{zmin,zmax}
OK,本文到此结束,希望对大家有所帮助。