问题标签 [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 投票
1 回答
959 浏览

path - Is SVG elliptical arc curve path command overdetermined?

SVG's elliptical arc curve path command takes 9 parameters: implicit current X and Y, rx (x-radius), ry (y-radius), x-axis-rotation, large-arc-flag, sweep-flag, x (endpoint-x), y (endpoint-y). Lets ignore the two "flag" parameters that I believe to be unimportant for my question. Then 7 parameters remain.

Now my question is: is the ellipse overdetermined or not? I just believe that it is, because providing too small rx and ry and an endpoint which is too far the the current point will result in no solution. Thinking this way, only a subset of parameter space forms valid arches, hence the ellipse is overdetermined.

On the other hand, I'm not a geometry expert and I know that SVG is a well-thought-out standard, suggesting that I am wrong. Am I or not?

0 投票
1 回答
178 浏览

javascript - 在java脚本中绘制一个弧但它没有出现

我正在做一个简单的 html/js 项目,让一个盒子在画布上移动,可以射球。我让盒子移动了,但我无法让球出现。该程序使其进入 drawBall() 和 moveBall()(Tested using alerts) 函数,但它们不执行任何操作。过去一个小时我一直在研究这个,所以我就是无法让它工作。这是我的 javascript 代码,它移动盒子并且在释放空格键时应该画一个球。

0 投票
3 回答
674 浏览

python - 计算n维圆弧路径

我正在为 CNC 铣床实现驱动程序,但在实现 G 代码圆弧命令时遇到问题。

我发现了中点圆算法的几种实现,但它并不是真正可用的。

我发现中点圆算法的问题在于它是 2D 并且同时绘制所有八分圆,而我需要通过 3D 路径的连续步骤,由起点、终点和中心点给出。

我发现了一个很好的多维等价于 Bresenham使用浮点运算的线条绘制算法。绘制弧线可能存在类似的事情?

通过大量的思考和实验,我也许可以根据自己的意愿弯曲这个算法,但是由于绘制圆弧不是一个未解决的问题,而且之前已经制造了 CNC 机器,我想知道是否已经存在一个优雅的解决方案?

0 投票
1 回答
1161 浏览

javascript - SVG,Raphael.js,绘图

我想这更像是一个数学问题,或者可能是一个 SVG 问题。我正在考虑修改我在 raphael.js 网站上找到的一些示例代码。我已经将其修改为具有自定义中心点。现在我想修改它,以便我可以指定弧的开始角度。(类似于 d3.js,所以我可以用它来制作像条形图这样的东西,中间缺失)。

但是我不知道从哪里或如何开始。我的数学很糟糕,我不知道 alpha 是什么以及 a 变量是什么。或者为什么 x 和 y 是这样计算的。我一遍又一遍地阅读 SVG 规范,但我缺少一些重要的基础知识,我也不知道。

有人可以指出我正确的方向,以便我可以开始理解这些东西吗?

运行代码会产生:

我也不知道弧参数如何协同工作来绘制它们正在绘制的内容。

为缺乏对问题的关注而道歉。

编辑:它基于极坐标时钟示例。http://raphaeljs.com/polar-clock.html

0 投票
3 回答
12587 浏览

objective-c - 在Objective-C中绘制具有开始和结束角度的椭圆

我正在编写一个 iPad 应用程序,我在其中将表示形状的 XML 对象呈现为屏幕上的图形。我试图渲染的对象之一是弧。本质上,这些弧线为我提供了一个边界矩形以及一个开始和结束角度。

给定属性:

  • X
  • 是的
  • 宽度
  • 高度
  • 起始角
  • 结束角

使用这些值,我需要绘制圆弧(本质上是椭圆的一部分)。我不能使用以下内容:

因为它画了一个完整的椭圆。基本上我需要上面的,但它需要考虑开始和结束角度,所以只显示椭圆的一部分。我认为这将涉及绘制三次贝塞尔曲线或二次贝塞尔曲线。问题是我不知道如何使用给定的信息计算起点、终点或控制点。

0 投票
1 回答
4163 浏览

android - 在 android 画布上绘制有角度的矩形/弧线

我正在尝试为 android 设备修改操纵杆组件。目前该组件能够跟踪您手指的 x 和 y 位置并在那里绘制一个小圆圈。现在我要做的是从中心到手指的 x 和 y 位置绘制一个矩形或圆弧。

据我所知,矩形只接受顶部、左侧、右侧和底部的值,这仅允许我水平或垂直绘制矩形。如果有人知道另一种画法,那就太棒了。

我已经设法使用 canvas.drawLine 得到一个直矩形但是我现在想使用 drawArc 函数使矩形弯曲,但这需要 RectF 的参数。

我目前使用的代码是:

0 投票
1 回答
1145 浏览

algorithm - 将形状划分为全等的子区域

给定一个边相等的不规则多面多边形。有没有什么算法可以把它分成六个大小相等的全等区域??

0 投票
2 回答
1592 浏览

python - 在 Python 中实现 SVG 圆弧曲线

我正在尝试在 Python 中实现 SVG 路径计算,但我遇到了 Arc 曲线的问题。

我认为问题在于从端点到中心参数化的转换,但我找不到问题。您可以在SVG 规范的 F6.5 部分中找到有关如何实现它的说明。我还查看了其他语言的实现,我也看不出它们有什么不同。

我的 Arc 对象实现在这里:

您可以使用以下代码进行测试,该代码将使用 Turtle 模块绘制曲线。(最后的 raw_input() 只是为了在程序退出时屏幕不会消失)。

问题:

绘制的这四个弧中的每一个都应从起点绘制到终点。但是,它们是从错误的角度得出的。两条曲线从头到尾,两条曲线从 100,-50 到 0,0,而不是从 0,0 到 100, 50。

部分问题是实现说明为您提供了如何将表单端点转换为中心的公式,但没有解释它在几何上做了什么,所以我并不完全清楚每个步骤的作用。对此的解释也会有所帮助。

0 投票
1 回答
1007 浏览

geometry - 从一个点查找给定半径的所有像素,限制在弧内

我正在研究一个部分通过超声波接近传感器导航的自主漫游车。在我们实现硬件之前,我们想用我现在正在编写的模拟器对我们的算法进行一些测试。

我遇到麻烦的一项任务是超声波传感器具有 60 度的视野。如果检测到对象,则该半径处沿该 60 度弧的任何点都可能有对象,但该半径以下的所有点都保证没有对象。

我需要做的是编写一个函数,该函数具有 (x,y) 坐标和方位角(我现在将其限制为 4 个基数)并让它返回给我一个半径内的像素列表和一个该半径处的像素列表。通过从多个位置和方位重复扫描,可以找到所有对象。

我最初的想法是迭代地工作。从传感器前面的行开始,以逐渐加宽的扫描(1、1、3、3、5、5、7、7 等)来回扫描。然而最终半径停止与行对齐。我的新搜索路径是弄清楚如何用像素绘制弧线,然后将半径逐步提高到第一次碰撞。

这个问题提出了一个类似的问题,但只对特定点感兴趣,所以我认为这是一个根本不同的问题。

如何从给定点(经度,纬度)计算给定半径内的所有点(经度,纬度)?

0 投票
3 回答
4716 浏览

c++ - 使用 OpenCV、C++ 和 Image 2D 进行头部姿势估计 - 几何方法 - 滚动、偏航和俯仰

我试图根据 2D 图像找到人脸的三个角度二维图像

我正在使用带有 HaarCascade 的 OpenCV 来查找脸部、眼睛、鼻子和嘴巴。但我没有找到任何几何方法可以帮助我找到角度 X、Y 和 Z(Roll、Pitch 和 Yaw)。

有人可以帮我展示一些在 c++ 或 java 中有效的方法吗?