用JS绘制正弦曲线

权当温习高中数学知识了。。。

正弦曲线的公式:y=Asin(ωx+φ)+k
x是x轴上的数值
y是y轴值
A振幅上下翻动的幅度。
(ωx+φ)相位,反映变量y所处的状态。
φ初相,x=0时的相位;反映在坐标系上则为图像的左右移动。
k偏距,反映在坐标系上则为图像的上移或下移。
ω角速度, 控制正弦周期(单位角度内震动的次数)。

例子很简单,就是让一张图片在屏幕上做一个正弦曲线的移动,代码如下


$(function() {
var x = 0;
var y = 0;
var tt = setInterval(scrollImg, 10);
function scrollImg() {
var top = Math.abs(Math.sin(x)*50 + 100);
var left = y;
$(".holder").find('img').each(function() {
var $this = $(this);
$(this).css({"margin-top" : top + "px", "margin-left" : y + "px"});
y = y + 1;
x = (0.03) * y + 2;
});
if (y > 800)
clearInterval(tt);
}

});
面向对象和面向函数都是编程中的两种不同设计模式,用于解决不同的问题。 **面向对象的方式**: 在面向对象的语言中,比如Python或JavaScript,你可以创建一个名为`TrigonometricFunction`的类,然后分别创建`Sine`和`Cosine`两个子类。每个子类会有一个`plot()`方法,用来绘制对应的函数图: ```python class TrigonometricFunction: def __init__(self, func): self.func = func def plot(self, x_range, y_range): x = [x for x in range(x_range)] y = [self.func(x) for x in x] # 绘制曲线 class Sine(TrigonometricFunction): def __init__(self): super().__init__(math.sin) class Cosine(TrigonometricFunction): def __init__(self): super().__init__(math.cos) ``` 然后你可以通过实例化这两个类并调用`plot()`方法来绘制正弦和余弦曲线: ```python sine_curve = Sine() cosine_curve = Cosine() sine_curve.plot(range(-10, 10), [-1, 1]) cosine_curve.plot(range(-10, 10), [-1, 1]) ``` **面向函数的方式**: 在函数式语言如Haskell或Scala,你可以编写纯函数来计算正弦和余弦值,然后用绘图库如matplotlib绘制曲线。例如: ```haskell import Graphics.Rendering.Chart sinPlot :: Double -> Double -> IO () sinPlot x y = drawPoint (x, sin x) $ color red cosPlot :: Double -> Double -> IO () cosPlot x y = drawPoint (x, cos x) $ color blue main = do let xRange = (-10, 10) let yRange = (-1, 1) generatePlot "Sinusoidal" (map sinPlot (xRange `seq` [xRange])) generatePlot "Cosinoidal" (map cosPlot (xRange `seq` [xRange])) ``` 在这个例子中,`sinPlot`和`cosPlot`函数接受范围作为参数,生成一系列点,并将它们传递给绘图函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值