问题标签 [geometric-arc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4856 浏览

.net - 使用起始 X/Y 和起始+扫角在 ArcSegment 中获取端点

有没有人有一个计算终点的好算法ArcSegment?这不是一个圆弧 - 它是一个椭圆形的。

例如,我有这些初始值:

  • 起点 X = 0.251
  • 起点 Y = 0.928
  • 宽度半径 = 0.436
  • 高度半径 = 0.593
  • 起始角度 = 169.51
  • 扫角 = 123.78

我知道我的弧应该结束的位置就在 X=0.92 和 Y=0.33 附近(通过另一个程序),但我需要在ArcSegment指定终点的情况下执行此操作。我只需要知道如何计算终点,所以它看起来像这样:

有谁知道计算这个的好方法?(我认为这是 WPF 或任何其他语言并不重要,因为数学应该是相同的)。

这是一张图片。除了终点(橙色点)外,所有值都是已知的。 描绘弧线的图像


编辑: 我发现DrawArc在 .NET GDI+ 中有一个用重载调用的例程,它几乎可以满足我的需要(更多关于“几乎”的内容在一秒钟内)。

为简化查看,以以下为例:

该例程将终点直接放在X=95, Y=55. 为圆形椭圆提到的其他例程将导致X=85, Y=29. 如果有办法1)不必绘制任何东西并且2)e.Graphics.DrawArc返回端点坐标,这就是我需要的。

所以现在这个问题变得更清楚了——有人知道e.Graphics.DrawArc是如何实现的吗?

0 投票
2 回答
7704 浏览

c - C中的pieslice()函数

如何使用函数在 C 中绘制一个主要的 pieslice pieslice()

我正在尝试使用该pieslice函数在 C 中绘制一个主要扇区或 pieslice;我希望起始角度为 135 度,结束角度为 235 度,但同时它应该是主要扇区,而不是次要扇区。

我尝试了所有四种组合

但是它们都绘制了相应的次要扇区,而不是主要扇区。有人可以告诉我该怎么做吗?

这是输出的屏幕截图:


感谢您的努力和时间。

现在,我无法让 pieslice 按我的方式工作。但是,通过以下调整,我能够解决问题并获得所需的输出。slice(int x-centre, int y-centre,int sangle, int eangle, int radius)我写了一个类似于 pieslice的用户定义函数。我希望它对那些陷入类似情况的人有用:

0 投票
12 回答
155865 浏览

svg - 使用 SVG 的圆弧路径绘制圆

简短的问题:使用 SVG 路径,我们可以绘制 99.99% 的圆并显示,但是当它是圆的 99.99999999% 时,则不会显示圆。如何修复?

下面的SVG路径可以画出99.99%的圆:(在http://jsfiddle.net/DFhUF/1381/上试试看是看到4个圆弧还是只看到2个圆弧,但是注意如果是IE的话是用 VML 渲染,而不是 SVG,但有类似的问题)

但是当它是一个圆的 99.99999999% 时,什么都不会显示?

这与 100% 的圆相同(它仍然是一个圆弧,不是吗,只是一个非常完整的圆弧)

这怎么能解决?原因是我使用一个函数来绘制弧的百分比,如果我需要“特殊情况”一个 99.9999% 或 100% 的弧来使用圆函数,那就有点傻了。

同样,在 jsfiddle 上使用 RaphaelJS 的测试用例位于http://jsfiddle.net/DFhUF/1381/
(如果它是 IE 8 上的 VML,则即使第二个圆圈也不会显示......你必须将其更改为0.01)


更新:

这是因为我正在为我们的系统中的分数绘制弧线,所以 3.3 分得到 1/3 的圆。0.5 得到半个圆,9.9 分得到 99% 的圆。但是,如果我们的系统中有 9.99 的分数怎么办?我是否必须检查它是否接近圆的 99.999%,并相应地使用arc函数或circle函数?那么9.9987的分数呢?使用哪一个?需要知道什么样的分数会映射到“太完整的圆”并切换到圆函数,而当它是圆的“某个 99.9%”或 9.9987 分数时,再使用弧函数,这很可笑.

0 投票
5 回答
22323 浏览

android - 如何在 Android 中使用画布旋转文本

我在 android 中使用画布绘制饼图并使用下面的代码在该饼图的每个切片上绘制一个文本(在路径上绘制弧),现在我想绘制文本长度,即从每个的中心到末尾切片,那么如何使用起始角和扫角来旋转圆弧。

在此处输入图像描述

0 投票
1 回答
264 浏览

svg - 从弧计算圆的大小?

如何从一组弧中计算圆的大小?

具体来说,我有这个绘制一个圆圈的 SVG 路径定义,我正在寻找它的大小。

供您参考,圆圈是在“d”属性中绘制的。M334.293,56.846 移动到这个 x,y 位置,然后 c 命令是曲线。

曲线:

使用 (x1,y1) 作为曲线起点的控制点和 (x2,y2) 作为曲线终点的控制点,从当前点到 (x,y) 绘制三次贝塞尔曲线。C(大写)表示后面跟着绝对坐标;c(小写)表示将跟随相对坐标。

0 投票
1 回答
21349 浏览

html - 如何在 html5 画布上绘制圆形扇区?

我正在尝试在画布元素上制作一种饼图形状,但是我似乎找不到任何可以自行执行此操作的函数。我似乎只能画出完整的圆圈和线段。是否有捷径可寻?

(另见:关于圈子术语的维基百科

0 投票
4 回答
19067 浏览

geometry - 如何确定点(X,Y)是否包含在圆的弧段内(即饼片)?

想象一个圆圈。想象一个馅饼。想象一下,试图返回一个布尔值,该布尔值确定所提供的 X、Y 参数是否包含在其中一个饼图中。

我对弧线的了解:

我有 CenterX、CenterY、半径、StartingAngle、EndingAngle、StartingPoint(圆周上的点)、EndingPoint(圆周上的点)。

给定 X,Y 坐标,我想确定该坐标是否包含在饼图幻灯片中的任何位置。

0 投票
1 回答
2526 浏览

android - android 2d 圆弧碰撞检测

我有一个使用 android 2d 图形绘制的旋转弧

游戏运行时弧线会旋转

我想知道如何检测是否有其他游戏对象(矩形、圆圈)与它发生碰撞

这是我第一次写游戏:)

我在http://hakim.se/experiments/html5/core/01/看到了类似的东西

提前致谢

0 投票
3 回答
4283 浏览

javascript - 为什么 canvas.arc 不起作用?

我在网页末尾有这段代码:

但什么也没有出现。我知道问题出在 arc 函数上,因为它ctx.fillRect(0, 0, 100, 100);工作正常。

知道我做错了什么吗?

(是的,我确实有 JQuery)

0 投票
3 回答
2692 浏览

javascript - 在Javascript画布绘图中,如何消除arc()中的线条?

我正在尝试用 Javascript 在画布上绘制弧线,但我想摆脱 Javascript 自动绘制的线条。随着线的绘制,有两个问题:a)fill()故障b)它看起来像一个弓

这是我拥有和想要的图像:弧线 左边是我在 JS 中拥有的东西,右边是我在 Java 中拥有的东西。Java 实现效率相当低,我想使用已经可用的功能。

以下是相关的JS函数:

这是Java中的一个工作实现:

所以我的问题是:如何将香蕉变成粗弧?