相关疑难解决方法(0)

从C#中的角度计算圆周长上的点?

我想这是一个简单的问题,但是我现在的代码得到了一些奇怪的结果,我没有数学背景来完全理解为什么.我的目标很简单,正如标题中所述:我只想找到距离中心点一定距离和角度的点.

我目前的代码:

Point centerPoint = new Point ( 0, 0 );
Point result      = new Point ( 0, 0 );
double angle      = 0.5; //between 0 and 2 * PI, angle is in radians
int distance      = 1000;

result.Y = centerPoint.Y + (int)Math.Round( distance * Math.Sin( angle ) );
result.X = centerPoint.X + (int)Math.Round( distance * Math.Cos( angle ) );
Run Code Online (Sandbox Code Playgroud)

一般来说,这似乎相当合理,但我在各个点都遇到问题,最明显的是当角度对应于负x轴和y轴的点时.显然我做错了什么 - 想一想是什么?

更新:这是我的错误,这段代码工作正常 - 少数不起作用的异常值实际上是由于如何计算1.5PI的角度的错误.我以为我已经检查得那么好,但显然没有.感谢大家的时间,希望上面的工作代码对其他人有用.

c# math geometry angle

40
推荐指数
2
解决办法
4万
查看次数

按程度在圆圈上找到一个圆点?

假设我们有一个100x100坐标系,如下所示.0,0是它的左上角,50,50是它的中心点,100,100是它的右下角等.

现在我们需要从中心向外画一条线.我们知道线的角度,但需要计算其终点的坐标.您认为最好的方法是什么?

例如,如果线的角度是45度,则其终点坐标将大致为75,15.

在此输入图像描述

math geometry

8
推荐指数
1
解决办法
3629
查看次数

裁剪图像到圆圈的最有效方法(在R中)?

TL; DR:将矩形图像裁剪成圆圈的最有效方法是什么?

说明/背景:

我正在研究R中的一些代码,它会将Spotify艺术家图像显示为圆圈而不是默认的矩形/正方形.我找不到在R中裁剪图像的任何包或命令,特别是圆圈,所以我编写了自己的函数circ,它读取三维(或四维)RGB(A)数组并将它们裁剪成一个圆圈使用圆的参数方程来确定每个唯一y的x值.这是我的伪代码:

Given an RGB(A) array:
    Find the center of the image, radius = min(x coord, y coord)
    Pre-crop the image to a square of dimensions 2r x 2r
    For every unique y value:
        Determine the x coordinates on the circle
        Make pixels outside of the circle transparent
    Return the cropped image as an RGBA array
Run Code Online (Sandbox Code Playgroud)

这个功能比我之前的功能有了很大的改进,它检查了每个像素的位置,看它是在圆圈的内部还是外部,但我仍然觉得它可以进一步加速.

有没有办法可以检查一半的y值而不是所有的y值,然后镜像在圆圈上?我可以使用实际的裁剪功能吗?任何和所有的帮助非常感谢!

编辑添加一些复制粘贴运行代码(感谢@lukeA):

我的原始裁剪方法:

circ = function(a){
  # First part of the function finds the radius of …
Run Code Online (Sandbox Code Playgroud)

r crop

7
推荐指数
2
解决办法
1018
查看次数

给定圆的中心和半径,在圆周上找到点的公式

我正在编写代码来查找圆周上的点.我有圆的中心点和半径,我需要在它周围画一个圆圈.这将有助于我定义边界.请帮助我找到圆周上找到这些点的公式.

geometry center

6
推荐指数
1
解决办法
2万
查看次数

圆上绘图点

我创建了一个圆圈:

<div class='ring'></div>

.ring {
    border-radius: 50%;
    border: 2px solid;
  }
Run Code Online (Sandbox Code Playgroud)

我需要在弧上绘制点(如A点)和圆内点(如B点),我该如何明智地做到?这意味着我可以选择在圆圈上的任何地方理解和添加点数.

在此输入图像描述

html javascript css

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

圆周上每个点的坐标

首先,请注意,这个问题不是这些问题的重复:1st2nd3rd

我正在使用 delphi 和 openCV,但我正在寻找一种算法,一种与语言无关的解决方案。

为了进行精确的图像分析,我需要检查圆形区域中像素强度的变化。所以我在不断增长的圆的圆周上读取像素值。为了能够做到这一点,我当然需要知道像素的坐标。

我找到的最好的解决方案是y:= Round(centerY + radius * sin(angle)), x:= Round(centerX + radius * cos(angle)),因为只用 360 度计数是不够的,当圆的半径大于大约 60 像素时,角度是这样计算的angle:= angle + (360 / (2 * 3.14 * currentRadius))- > 我扫描了从 0 到 360 的每个值,而该值正在增加 360/圆周长的一小部分(以像素为单位)。但是这种方法不是很精确。圆越大,角度的分数需要越小,精度会受到 Pi 的不准确以及四舍五入的影响。

如果我使用上述方法,并尝试使用以下代码绘制计数像素:

  centerX:= 1700;
  centerY:= 1200;
  maxRadius:= 500;

  for currentRadius:= 80 to maxRadius do
  begin

    angle:= 0;
    while angle < 360 do
    begin

      xI:= Round(centerX + currentRadius * cos(angle));
      yI:= Round(centerY …
Run Code Online (Sandbox Code Playgroud)

delphi algorithm math opencv image-processing

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

iOS上的圆形按钮

是否可以创建如下图所示的两个按钮?看起来你应该使用UIButton或UIImageView但是如果我点击区域1,它仍然可以点击按钮1.当我点击区域1时,按钮2应该被触发!

在此输入图像描述

iphone geometry objective-c button ios

4
推荐指数
1
解决办法
4456
查看次数

在颤振的弯曲的形状背景倒栽跳水

我有一个列表视图,左侧是"Hero"图标.当我单击一个列表项时,它会加载下一个屏幕,其中包含文章文本和Hero图像(可以很好地/自动地动画到第二个屏幕上的正确位置).

我原本以为这是"艰难"的部分,但我现在正试图将弯曲的形状作为第二个屏幕的顶部背景.我想把它变成一个绘制的矢量形状,而不是位图,甚至让它滴到/弹回到页面上,但此刻......

我只想弄清楚如何:

  1. 画一个矢量形状
  2. 将它作为屏幕的背景与其他小部件在上面(见下面第二个屏幕上的紫色曲线)

目标

dart flutter

4
推荐指数
1
解决办法
1662
查看次数

获取ObjectiveC中绘制的圆的终点

我正在使用drawRect方法在UIView中绘制一个圆.我使用以下代码绘制它.

- (void)drawRect:(CGRect)rect
{
     CGContextRef context = UIGraphicsGetCurrentContext();
     CGContextAddArc(context, 105, 105, 55, [self convertDegreeToRadian:15.0], [self convertDegreeToRadian:345.0], 0);
     CGColorRef black = [[UIColor blackColor] CGColor];
     CGContextSetStrokeColorWithColor(context, black);
     CGContextStrokePath(context);
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个从15度到345度的曲线.因此,这条曲线从一个点到另一个点.我需要得到两条边的点.我怎么得到它?

trigonometry objective-c ios

3
推荐指数
1
解决办法
2077
查看次数

d3.js饼图时钟

使用d3.js-我想创建这种时钟接口。

理想情况下,是否可以将12时钟数据驱动方式合并到此饼图中。

在此处输入图片说明

https://jsfiddle.net/qkHK6/2191/

var w = 400;
var h = 400;
var r = h / 2;
var color = d3.scale.category20c();

var data = [{
  "label": "Category B",
  "value": 70
}, {
  "label": "Category A",
  "value": 30
}];


var vis = d3.select('#chart').append("svg:svg").data([data]).attr("width", w).attr("height", h).append("svg:g").attr("transform", "translate(" + r + "," + r + ")");
var pie = d3.layout.pie().value(function(d) {
  return d.value;
});

// declare an arc generator function
var arc = d3.svg.arc().outerRadius(r);

// select paths, use arc generator to draw
var …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

3
推荐指数
1
解决办法
1216
查看次数

在椭圆内画一条线

我正在尝试绘制一个内部有一条线的椭圆Bitmap,类似于这张图:

图片

我的应用可以加载位图图片,可以是任何尺寸.我只需要画一个椭圆线,里面有一条线.

我知道如何绘制椭圆,但我的问题是它内部的线:

Bmp.Canvas.Ellipse(0, 0, Bmp.Width, Bmp.Height);
Bmp.Canvas.MoveTo(?, ?);// Here is my problem
Bmp.Canvas.LineTo(?, ?);// here too
Run Code Online (Sandbox Code Playgroud)

我试试这个:

Bmp.Canvas.MoveTo(0, 0);
Bmp.Canvas.LineTo(Bmp.Width, Bmp.Height);
Run Code Online (Sandbox Code Playgroud)

但是这将从图片的左上角到右下角画一条线.

delphi

2
推荐指数
1
解决办法
157
查看次数

我如何在javascript中做圆周运动

我正在尝试使用 javascript 制作太阳系,我正在使用可汗学院制作它,但我知道如何让它们围绕太阳绕圈移动我一直在网上浏览几个小时,但我不能找不到任何东西。这是我的项目,以便您可以看到我做了什么以及您可以在其中做什么

https://www.khanacademy.org/computer-programming/solar-system/6120244512161792

javascript khan-academy

-3
推荐指数
1
解决办法
3613
查看次数