当前位置: 首页 > 知识库问答 >
问题:

画一个圆弧的一部分

阎声
2023-03-14

我到底需要在椭圆形矩形中设置什么,以及如何计算起始角和扫掠角?

我尝试了下面的代码:

m_radiusRect.set(x1, Math.min(y1, y2), x2, Math.max(y1,y2));
float startAngle = (float)((Math.toDegrees( Math.atan2(x1 - 360.0, 360.0 - y1) ) + 360.0) % 360.0);
float sweepAngle = (float)((Math.toDegrees( Math.atan2(x2 - 360.0, 360.0 - y2) ) + 360.0) % 360.0) - startAngle;

canvas.drawArc(m_radiusRect, startAngle, sweepAngle, false, m_paint);

共有1个答案

狄天逸
2023-03-14

看这个答案,找出一个点从中心的角度。

在此基础上,求出x1和x2的两个角度,即a1和a2。

那么,

sweepAngle = a2 - a1;
startAngle = a1;
float startAngle = (int) ((float) Math.toDegrees( Math.atan2(x1 - cx, y1 - cy)));
         float sweepAngle = (int) ((float) Math.toDegrees( Math.atan2(x2 - cx, y2 - cy))) - startAngle;

         Rect rect = new Rect();

         rect.left = (int) (cx - radius);
         rect.top = (int) (cy - radius);
         rect.right = (int) (cx + radius);
         rect.bottom = (int) (cy + radius);
 类似资料:
  • 我想在两点之间画一条弧线。我知道两个点的位置和弧度的角度。我成功地写了一个小程序来计算圆心,有效地画出了圆弧。但是当我画一个圆来验证时,当我用小的弧度值时,圆线不交叉给出的两点。 但两点到圆心的距离等于计算半径。我哪里错了?

  • 请问图片的这条圆弧线 用css 怎么去写。 用border-top-left-radius 感觉实现不了。

  • 我需要画一个有4个扇区的圆。我试着画一个扇区,像这样:

  • 主要内容:弧形,圆形,示例,实例-2弧形 以下代码显示如何绘制以,为中心,半径为并从角度延伸到角度(270度长)的圆弧。 上面的代码生成以下结果。 圆形 类创建一个新的圆,其中指定的半径和中心位置以像素为单位。 上面的代码生成以下结果。 示例 以下代码显示了如何使用构造函数传递半径和中心。 上面的代码生成以下结果。 实例-2 圈形与DropShadow,如下代码所示 - 方法返回节点的边界区域,例如其宽度和高度。计算包括节点的实际尺

  • 本文向大家介绍请使用canvas画一个椭圆相关面试题,主要包含被问及请使用canvas画一个椭圆时的应答技巧和注意事项,需要的朋友参考一下 <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.beginPath(); ctx.arc(95,50,40,0,2*Math.PI); ct

  • 使用另一个问题中的代码,我在tkinter窗口中嵌入了一个pygame窗口,我试图制作一个tkbutton,在pygame窗口上画一个圆圈,已经试验了一段时间,到目前为止还没有任何结果。任何想法都会很棒!这是我到目前为止的代码。。。