三角函数模型的简单应用
最简单曲线当属圆形
用javascript语句可表示成:
moveTo(a,0);
for(i=0;i<n;i++) {
x=a*Math.cos(i*2*Math.PI/n);
y=b*Math.sin(i*2*Math.PI/n);
lineTo(x,y);
}
这里a=b,为圆形,否则a≠b为椭圆。如果把y=b*Math.sin(i*2*Math.PI/n)改成y=b*Math.sin(i*4*Math.PI/n),则圆形变成8字形。如果写成
三角函数模型的简单应用
———————————————————————————————— 作者:
———————————————————————————————— 日期:
三角函数模型的简单应用
2014-2015
南春中学 103班
组长:李烁瀚
组员:周约翰 冯文二 蔡岱翰
指导老师:李锦纯
课题研究的开展
课题研究:
探究三角函数模型在计算机绘图中的应用。
研究目的:
开阔视野,增长见识,提高我们的数学素养,使我们能更好地学习和应用数学。
研究过程:
1.准备阶段:从各种渠道收集相关资料
2.实施阶段: ①确定研究内容
②从互联网和图书馆查阅相关资料
③小组内交流讨论成果
④编写相关程序
3.总结阶段:由组长整理和汇总相关资料和成果并写成报告。
利用鼠标坐标设计以下程序,使程序生成的模型物体-鱼跟随鼠标移动。程序采用Flash的ActionScript编写。
[SWF(backgroundColor=0x00eeff,width=640,height=480)]
var sp:Sprite=addChild(new Sprite())as Sprite;
三角函数在复数中有重要的应用,在物理学中也是常用的工具。由于三角函数的周期性,它并不具有单值函数意义上的反函数。
在实际生活中,有许多周期现象可以用三角函数来模拟,如物理中简谐振动、交流电中的电流、潮汐等,都可以建立三角函数的模型利用三角函数的性质解决有关问题;很多最值问题都可以转化为三角函数来解决,如天气预报、建筑设计、航海、测量、国防中都能找到神奇的三角函数的影子。因而三角函数解决实际问题应用极广、渗透能力很强。
varz0:Array=[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]];
这里c=循环周期除以3。
三色渐变着色曲线
组合渐变着色曲线
图6渐变着色深度曲线
有时动画涉及层深变化,采用周期渐变着色能增加透视效果(周期渐变效果见图5)
有时曲线涉及交叉,为了使交叉处着色一致,需要uv方向渐变着色。u向渐变着色也可理解成环形渐变着色,v向渐变着色可以理解成轴向渐变着色。
图7uv渐变着色效果
图2 通过加修饰生成的曲线
图3通过乘修饰生成的曲线
图4利着色使用周期渐变效果)
在具体操作中,我们对生成的图像进行着色,利用三角函数模型可以使着色产生渐变效果。
使用三色渐变函数模型可以直接滤除曲线小于0部分,突出红、绿和蓝三颜色,具体程序编写如下:
Math.cos(t*p/n) <0?r=0:r=255*Math.cos(t*p/n);
在计算机程序的开发中,通常需要图像的绘制。通常情况下,可以在开发环境下使用直线、形状等图形控件直接绘图。具有占用系统资源少、运行速度快、代码简洁、可以在开发界面直接浏览完成图像等特点。然而,控件绘图法无法进行动态绘图,但利用三角函数创作曲线、着色、模型、动画可以产生不错的效果。
下面举一实例:
简单曲线画法
sp.y=-200,sp.x=320;
var px:Array=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],pp:Array=[];
var pz:Array=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],yur:Array=[];
varx0:Array=[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]];
Math.cos((t+c)*p/n)<0?g=0:g=255*Math.cos((t+c)*p/n);
Math.cos((t+2*c)*p/n) <0?b=0:b=255*Math.cos((t+2*c)*p/n);
同时使用更细分一些的组合渐变,可以组合成红、黄、绿、青、蓝、紫色:
Math.cos(t*p/n)+0.5<0?r=0:(Math.cos(t*p/n)+0.5>1?r=255:r=255*(0.5+Math.cos(t*p/n)));ﻩMath.cos((t+c)*p/n)+0.5<0?g=0:(Math.cos((t+c)*p/n)+0.5>1?g=255:g=255*(0.5+Math.cos((t+c)*p/n)));ﻩMath.cos((t+2*c)*p/n)+0.5<0?b=0:(Math.cos((t+2*c)*p/n)+0.5>1?b=255:b=255*(0.5+Math.cos((t+2*c)*p/n)));
研究成果:
三角函数学的发展,由起源迄今差不多经历了三﹑四千年之久,在古代,由于古代天文学的需要,为了计算某些天体的运行行程问题,需要解一些球面三角形,在解球面三角形时,往往把解球面三角形的问题归结成解平面三角形,这些问题的积累便形成了所谓古代球面三角学﹑古代平面三角学;虽然古代球面三角学的发展早于古代平面三角学,但古代平面三角学却是古代球面三角学的发展基础。三角函数在数学中属于初等函数里的超越函数的一类函数。它们本质上是任意角的集合与一个比值的集合的变量之间的映射。由于三角函数具有周期性,所以并不具有单射函数意义上的反函数。
x=a*Math.cos(i*m*Math.PI/n);
y=b*Math.sin(i*(n)*Math.PI/n);
其中m不能为偶数,n=m+1,或n=m-1。
则图形为:
图1例子中,更改m、n变量产生的结果
完成一个图形后,对这个函数图像进行修饰,对函数图像进行修饰的过程中,应用加修饰、乘修饰和嵌入修饰。通过利用正弦余弦的嵌入方式只改变b2,在曲线的交汇点处产生偏移,避免重合,产生藤编效果。