标签: ellipse

给定一组点,我如何近似其形状的主轴?

给定用户绘制的“形状”,我​​想对其进行“标准化”,以便它们都具有相似的大小和方向。我们拥有的是一组点。我可以使用边界框或圆来近似大小,但方向有点棘手。

我认为,正确的方法是计算其边界椭圆长轴。要做到这一点,你需要计算特征向量的的协方差矩阵。这样做可能对我的需要来说太复杂了,因为我正在寻找一些足够好的估计。选择最小、最大和 20 个随机点可能是一个开始。有没有一种简单的方法来近似这个?

编辑:我发现Power 方法可以迭代地逼近特征向量。维基百科文章。到目前为止,我喜欢大卫的回答

graphics ellipse bounding-box eigenvector

5
推荐指数
1
解决办法
2606
查看次数

是否有任何HTML代码可以显示椭圆或圆角矩形?

我不确定它是否可以用于HTML,但我仍然会在这里问:

是否有代表椭圆或圆角矩形的HTML代码?

html graphics ellipse rounded-corners

5
推荐指数
1
解决办法
1358
查看次数

在Delphi 2010中绘制不透明度椭圆

我期待在CodeGear Delphi 2010中绘制不透明椭圆.

我试图绘制另一个位图,我设置了位图透明色(用于背景)调用椭圆方法.

在我的图像中,我使用不透明度参数(来自重载)绘制位图.但它不起作用.

我想要这样的东西http://www.java2s.com/Tutorial/VBImages/WPF-UseOpacityMaskAndRadialGradientBrush.PNG

有人知道一种工作方法吗?

delphi transparency ellipse opacity delphi-2010

5
推荐指数
1
解决办法
5182
查看次数

计算椭圆上的点

假设我有两个点A和B位于椭圆的圆周上,它们与中心点形成一个角度X. 现在说A点移动到新点C.如何计算B的新点,使角度X保持不变?指出某种代码的指针将不胜感激.

math trigonometry ellipse

5
推荐指数
1
解决办法
3677
查看次数

计算某个空间区域中置信椭圆的面积

我想知道是否有人知道如何计算置信椭圆内的蓝色阴影区域.任何建议或看的地方都非常感谢.此外,我希望找到一个通用公式,因为椭圆不一定必须位于应用中的那个区域(即,椭圆可能更大).如果有帮助,这是我的图片代码:

library(car)

x = c(7,4,1)
y = c(4,6,7)

plot(x,y,xlim=c(0,10),ylim=c(0,10))
rect(x,y,max(x)+100000,max(y)+100000,col="lightblue",border=NA)
points(x,y,col="red",pch=19)

ellipse(center=c(3.5,5),shape=matrix(c(1,.5,.5,2),nrow=2),radius=3,col="green")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

optimization r ellipse area

5
推荐指数
1
解决办法
1218
查看次数

在WPF中仅刷一个Ellipse的部分

我很难找到画出下面形状的最佳方法.我正在使用下面的代码绘制一个Ellipse可视图层.

但是我怎么才能刷四分之一?我认为它可以使用LinearGradientBrushRadialGradientBrush但我不知道如何使用它.

var cntrpoint = space.FlipYAxis(x2, y2);
dc.DrawEllipse(Brushes.Transparent, pen, cntrpoint, 30, 30);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

c# wpf brush ellipse

5
推荐指数
1
解决办法
1330
查看次数

如何在Cesium地图中更改EllipseOutlineGeometry的宽度?

我正在关注沙堡椭圆轮廓几何.我想知道是否有任何方法可以使椭圆线宽更宽?有一些使用width属性使折线更宽的例子,但似乎没有办法制作一个ellipseOutlineGeometry对象.sandcastle示例在末尾有一个lineWidth设置,但是对此的更改似乎不会影响椭圆轮廓的宽度.

沙箱代码:

// Create the ellipse geometry.  To extrude, specify the
// height of the geometry with the extrudedHeight option.
// The numberOfVerticalLines option can be used to specify
// the number of lines connecting the top and bottom of the
// ellipse.
ellipseOutlineGeometry = new Cesium.EllipseOutlineGeometry({
    center : Cesium.Cartesian3.fromDegrees(-95.0, 35.0),
    semiMinorAxis : 200000.0,
    semiMajorAxis : 300000.0,
    extrudedHeight : 150000.0,
   rotation : Cesium.Math.toRadians(45),
   numberOfVerticalLines: 10
});
// Create a geometry instance using the ellipse geometry
// created above.
var extrudedEllipseOutlineInstance …
Run Code Online (Sandbox Code Playgroud)

javascript map ellipse webgl cesium

5
推荐指数
1
解决办法
2065
查看次数

使用 Python 了解 Open CV 中的椭圆参数

我正在尝试使用 Open CV 绘制圆弧,使用 cv2.ellipse 函数我尝试阅读相同的文档,但我发现它非常令人困惑。在我的例子中它是一个圆弧,所以axes_x和axes_y是相同的,即半径。我的轴应该是什么,我应该在哪个方向计算开始和结束角度?这个旋转角度是多少?给定的是函数 - cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]])

import cv2
import numpy as np

def create_blank(height, width, color):

    blank_image = np.zeros((int(height), int(width), 3), np.uint8)
    blank_image[:, :] = color
    return blank_image

def draw_arc(image):
    height, width = image.shape[0:2]
    # Ellipse parameters
    radius = 100
    center = (width / 2, height/2)
    axes = (radius, radius)
    angle = 0
    startAngle = 135
    endAngle = 180
    cv2.line(image, (0, 150), (300, 150), (0, 0, 0), 2, cv2.CV_AA) …
Run Code Online (Sandbox Code Playgroud)

python opencv ellipse opencv3.0

5
推荐指数
1
解决办法
9620
查看次数

Python:将 3D 椭球(扁形/长形)拟合到 3D 点

亲爱的 stackoverflow 用户,

我面临如下问题:我想在 python 脚本中将 3D 椭球体拟合到 3D 数据点。

起始数据是一组 x、y 和 z 坐标(笛卡尔坐标)。我想要得到的是 3D 数据点凸包的最佳拟合椭球定义方程中的 a 和 c。

在正确旋转和平移的坐标系中,该方程为:

椭球方程

所以我理想中想做的任务是:

  1. 查找 3D 数据点的凸包

  2. 将最佳拟合椭球拟合到凸包并得到 a 和 c

你知道是否有一些库允许在 Python 中以最少的代码行执行此操作吗?或者我是否必须用我有限的数学知识(在寻找最适合的椭球体时基本上为零)对每个步骤进行显式编码?

python ellipse computational-geometry geometry-surface

5
推荐指数
1
解决办法
5431
查看次数

计算Python中SVG弧的确切长度?

我希望能够计算SVG弧的确切长度。我可以很轻松地完成所有操作。但是,我不确定是否有解决方案或该解决方案的确切实现。

这是椭圆圆周的精确解。使用流行的库很好。我完全掌握没有简单的解决方案,因为它们需要精确的超几何函数。

from scipy import pi, sqrt
from scipy.special import hyp2f1

def exact(a, b):
    t = ((a - b) / (a + b)) ** 2
    return pi * (a + b) * hyp2f1(-0.5, -0.5, 1, t)

a = 2.667950e9
b = 6.782819e8
print(exact(a, b))
Run Code Online (Sandbox Code Playgroud)

我的想法是,如果您恰好scipy安装了该代码,则将其作为选择加入的代码,它将使用确切的超精巧解决方案,否则将退回到较弱的近似代码(逐行缩小线段,直到误差很小)。问题是这里的数学水平高于我。而且我不知道是否有一些方法可以指定起点和终点。

大多数逼近解都适用于椭圆,但是我只想要弧线。对于我来说,可能还存在一个未知的解决方案,用于计算椭圆上的弧长,但由于开始和结束位置可以在任何地方。说扫掠角为可能的总角度的15%,因此不是椭圆周长的15%,似乎并不是立即可行的。

更有效的花式弧近似也可能很好。椭圆近似值越来越好,但是我不能从椭圆周长到圆弧长度,所以这些对当前无济于事。


假设圆弧参数化是椭圆上的起点和终点。因为这就是SVG参数化的方式。但是,诸如arc_length参数化之类的没有重言式的东西都是正确的答案。

python svg ellipse scipy automatic-ref-counting

5
推荐指数
1
解决办法
214
查看次数