javascript - 二次贝塞尔曲线数学
问题描述
有人可以帮我解决这个问题:当我有这样的贝塞尔曲线时: https ://www.w3schools.com/code/tryit.asp?filename=FX0KJBP2EZ3S
P0(X) = 0 P0(Y) = 50
P1(X) = 100 P1(Y) = 25
P2(X) = 200 P2(Y) = 50
并使贝塞尔曲线更小,如下所示:
https://www.w3schools.com/code/tryit.asp?filename=FX0KL478CRY4
由于距离 P0.X 和 P2.X,P1 较高。如何保持 P1 的高度,使其始终处于相同的高度?
解决方案
要按比例缩小曲线(使形状相同但更小),您必须以相同的比例更改控制点的差异。所以Y1-Y0
应该改成类似(X2'-X0')/(X2-X0)
: 25 / (200/50) = 6.25
。整数:
ctx.quadraticCurveTo(25, 44, 50, 50);
推荐阅读
- php - 被调用函数元素上的 SoapClient 属性
- c# - 时间:2019-05-10 标签:c#singletonclassworkingwellconfirmation
- python - 如何在 django 中创建另一个用户(学生和教师)表
- node.js - MongoDb $inc 自动增加两倍
- python - Pickle - 无法将附加的字典正确存储到列表中
- php - 在 codeigniter 中的 form_validation > set_rules > valid_email 中出现错误
- python - 图卷积网络上的词项加权
- rust - 无法将 RefCell 中的 TlsStream 借用为可变的
- javascript - 在 javascript 文件中注释 HTML 代码
- ios - RxSwift 和三个 API 请求