问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js贝塞尔曲线算法,js贝塞尔曲线路径点

发布网友 发布时间:2022-12-04 17:37

我来回答

1个回答

热心网友 时间:2024-12-02 12:57

//anchorpoints:贝塞尔基点

        //pointsAmount:生成的点数

    //return 路径点的Array

        function CreateBezierPoints(anchorpoints, pointsAmount) {

            var points = [];

            for (var i = 0; i < pointsAmount; i++) {

                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 = 0; i < len; i++) {

                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
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
写论文值得推荐的app 写论文app大全汇总 有啥好用又免费的文献查阅网站吗? 高仿苹果手机关机关不了机?是怎么回事?有那个朋友请告知! 高仿苹果6开机就是白屏黑苹果,关机关不了 怎么把电子相册保存到QQ空间相册 整个乡村音乐史上,最动人的25首歌 写给狗的歌 右侧肢体肌力4级是什么意思 肌力分级的评定标准 肌力4级是什么意思 贝塞尔曲线的几个知识点 物业公司策划方案 读红楼梦有感作文1300字 初字的笔顺 2021与2022新年限定礼盒哪个好 15岁男生喉结和胡子很明显怎么办 喉结上的胡子怎么处理?剪得好辛苦~! vertu如何消除箭头 iPhone6注意,iOS12.5验证关闭不能降级 ...16G的一直缺货,来的全是32G的,16G的还生产么,另现在联通iPhone... 请问一下听君一席话胜读十年书的意思 防爆除尘器的防爆装置原理 温馨简短的空间留言唯美句子汇总32句 qq空间爱情留言句子 谁不是一边受挫折,一边学坚强 空间留言暖心唯美句子 qq留言板留言暖心的话(100句) 留言句子短一点的爱情 空间留言爱情唯美句子(65句) 微信签名英文 微信个性签名英文带翻译 高大上的英文励志微信签名带翻译(精选32句) 唯美意境好听的英文微信签名带翻译(精选70句) 招商银行信用卡(贷记卡)冻结还显示额度 必须要理解掌握的贝塞尔曲线(原创) 什么是蒙特勒公约? 土耳其把海峡通行费用提高5倍,谁给他的权力,是否算“讹诈”? 黑海海峡问题的演变过程 黑海为什么不让有航母 iphone4s来电归属地怎么设置 iPhone4S有来电显示归属地的软件吗 iphone4s怎么设置来电显示号码归属地 4s来电显示归属地 iphone4s怎么样和来电归属地查询 深圳市学思教育培训中心怎么样 深圳市龙华区金博士学思培训中心怎么样 深圳市宝安区东方培训中心怎么样 深圳市鹏程职业培训中心怎么坐地铁 冰箱放了一年后再开就不启动了是怎么回事 冰箱过了一年没用再耒开就起不动是什么原因? 我家的冰箱有3年未用,现在要用时通电后压缩机不启动,请问应该怎么使用... word文件中英文如何对齐? 复兴号和和谐号哪个好 如何插件小程序抢号