java圆弧怎么画_通过3个点绘制2条贝塞尔曲线,以模拟圆弧

我有三个不在同一条线上的点,最初我想通过这三个点绘制一个圆弧,我做了 . 但实际上镀铬并没有画出真正的圆形,而是使用几条贝塞尔曲线来假装它是圆形,因为贝塞尔曲线很便宜 . 如果铬作为一个中间人这样做,为什么我不是自己绘制圆形贝塞尔(两个bezier,从点1到中点,中点到点3)?这将更清洁,更便宜(2与浏览器决定的未知数量的贝塞尔曲线相比) . 那是我被困的地方,怎么样? “控制点”应该在哪里?

这是我在javascript中的旧绘制弧函数

drawArc = function(startPoint, thirdPoint, endPoint){

var ctx = this.ctx;

ctx.lineWidth = this.strokeWidth;

ctx.strokeStyle = this.strokeColor;

var centerObject = circleCenter( new Point(startPoint.x, startPoint.y),

new Point(thirdPoint.x, thirdPoint.y),

new Point(endPoint.x, endPoint.y) );

var centerX = centerObject.x;

var centerY = centerObject.y;

var r = centerObject.r

var angle = Math.atan2(centerX-startPoint.x, centerY-startPoint.y);

// console.log(centerObject);

if (!angle){

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值