曲线通常假定向右下方倾斜是因为经济学家一般假定投资需求是利率的减函数以及储蓄是收入的增函数。这就是说,利率上升时,投资会减少,利率下降时,投资会增加,以及收入上升时储蓄会增加,收入下降时储蓄会减少。在这样的情况下,利率下降时,投资增加,为了达到产品市场均衡,或者说投资与储蓄相等,储蓄和收入必须增加。这样较低的利率必须与较高的收入相结合才能达到产品市场均衡。
于是,当坐标图形上以纵轴表示利率,横轴表示收入时,JS曲线就会向右下方倾斜。IS曲线是描述产品市场均衡时,利率与国民收入之间关系的曲线,由于在两部门经济中产品市场均衡时I=S,因此该曲线被称为IS曲线。总产出与利率之间存在着反向变化的关系,即利率提高时总产出水平趋于减少,利率降低时总产出水平趋于增加。 所以is曲线像右下方倾斜。如果假设曲线是向上倾斜的,则违背了任何一种商品越多越好的假设。在坐标中,右上的市场篮子组合的一定比左下方的篮子更受偏好,因为,此时的X与Y的量都是增加的,获得商品多了,消费者的效用会增加, 我们必须设有假设条件,以便更准确的研究。如果曲线向原点外凸,则显示出,购买更多的商品消费者的偏好与购买较少商品的偏好一样,这是违背假设的。
曲线通常假定向右下方倾斜是因为经济学家一般假定投资需求是利率的减函数以及储蓄是收入的增函数。这就是说,利率上升时,投资会减少,利率下降时,投资会增加,以及收入上升时储蓄会增加,收入下降时储蓄会减少。在这样的情况下,利率下降时,投资增加,为了达到产品市场均衡,或者说投资与储蓄相等,储蓄和收入必须增加。这样较低的利率必须与较高的收入相结合才能达到产品市场均衡。于是,当坐标图形上以纵轴表示利率,横轴表示收入时,JS曲线就会向右下方倾斜。微观经济学中,有一个前提是保证其他变量不变。此时,价格的变化所引起的需求量的变化,会影响需求曲线,主要体现在需求弹性。而影响需求弹性的有商品的可替代性,商品用途的广泛性,商品对消费者生活的重要性,商品的消费支出在消费者预算总支出中所占比例。
所考察的消费者调节需求量的时间,决定/S曲线向右下方倾斜的程度的因素主要包括以下两个方面:在其他条件不变的情况下,如果投资对利率的变化越敏感,则利率的变化会对投资的冲击越大,导致均衡的国民收入也变化越大,这意味着均衡的国民收入对利率的变化也相应地越敏感,即利率稍有下降,投资从而收入增加越多,从而表现为JS曲线向右下方倾斜的程度越小,也就是IS曲线越平坦。在其他条件不变的情况下,如果乘数越大,则相应的支出变动量对国民收入的影响就越大,这意味着均衡的国民收入对利率的变化也相应地越敏感,表现为IS曲线向右下方倾斜的程度越小,也就是IS曲线越平坦。
//anchorpoints:贝塞尔基点
//pointsAmount:生成的点数
//return 路径点的Array
function CreateBezierPoints(anchorpoints, pointsAmount) {
var points = []
for (var i = 0i <pointsAmounti++) {
var point = MultiPointBezier(anchorpoints, i / pointsAmount)
points.push(point)
}
return points
}
function MultiPointBezier(points, t) {
var len = points.length
var x = 0, y = 0
var erxiangshi = function (start, end) {
var cs = 1, bcs = 1
while (end >0) {
cs *= start
bcs *= end
start--
end--
}
return (cs / bcs)
}
for (var i = 0i <leni++) {
var point = points[i]
x += point.x * Math.pow((1 - t), (len - 1 - i)) * Math.pow(t, i) * (erxiangshi(len - 1, i))
y += point.y * Math.pow((1 - t), (len - 1 - i)) * Math.pow(t, i) * (erxiangshi(len - 1, i))
}
return { x: x, y: y }
}
以上是计算高阶贝赛尔曲线所有点的方法,
方法引用了引用公式
:
一次、二次、三次贝塞尔曲线函数
function onebsr(t, a1, a2) {
return a1 + (a2 - a1) * t
}
function twobsr(t, a1, a2, a3) {
return ((1 - t) * (1 - t)) * a1 + 2 * t * (1 - t) * a2 + t * t * a3
}
function threebsr(t, a1, a2, a3, a4) {
return a1 * (1 - t) * (1 - t) * (1 - t) + 3 * a2 * t * (1 - t) * (1 - t) + 3 * a3 * t * t * (1 - t) + a4 * t * t * t
}
参考 https://www.cnblogs.com/lxiang/p/4995255.html