相关疑难解决方法(0)

如何使用JTS或NTS找到曲线角点?

我有一条曲线(比如JTS边缘):

在此输入图像描述

如何使用JTS(Java)NTS(C#)找到超过给定角度的所有曲线方向变化点:

在此输入图像描述

.net c# java jts

29
推荐指数
1
解决办法
397
查看次数

如何计算具有给定中心,角度和半径的点?

在这个SO问题中,有人要求从三个点计算角度.我需要做相反的事情.

我想画一个时钟,我有很小的刻度图像.一个艺术家伙制作了60个,每个人都有一个个性和准确的阴影.因此,在10x10点处有60个不同的图像,已经在该正方形的中心正确旋转.

因此,必须每6度一个刻度图像放置.我只需要根据中心点,半径和角度计算x/y坐标.

所以我有:

  • 一个中心点
  • 一个半径
  • 一个角度

有没有一种简单的方法来计算x/y坐标?也许cocoa-touch已经有了一个有用的功能或方法吗?

iphone cocoa-touch objective-c

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

凹面和凸面多边形

如何识别和删除图像中绘制的四个RED点 替代文字

这四个点使该多边形成为凹多边形,这就是我想要删除它的原因.

我的目标是通过识别和删除这些点来删除这种点,从而将凹多边形转换为凸面.

有没有办法识别和删除这些点?

谢谢

math

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

如何从多边形内的点获取多边形外的最近点?

我有一个包含很多多边形的地图,其中一个有一个点,如下所示: 多边形

多边形边缘的x和y坐标保存在这样的数据库中(例如):

Polygon(Point(11824, 10756), Point(11822, 10618), Point(11912, 10517), Point(12060, 10529), Point(12158, 10604), Point(12133, 10713), Point(12027, 10812), Point(11902, 10902)),
Polygon(Point(11077, 13610), Point(10949, 13642), Point(10828, 13584), Point(10772, 13480), Point(10756, 13353), Point(10849, 13256), Point(10976, 13224), Point(11103, 13294), Point(11171, 13414), Point(11135, 13558)),
Polygon(Point(11051.801757813, 11373.985351563), Point(11165.717773438, 11275.469726563), Point(11281.733398438, 11255.646484375), Point(11381.07421875, 11333.15625), Point(11440.202148438, 11467.706054688), Point(11404.73046875, 11584.534179688), Point(11301.662109375, 11643.852539063), Point(11169.486328125, 11644.079101563), Point(11067.555664063, 11579.676757813), Point(11018.21484375, 11454.750976563)),
Polygon(Point(12145, 13013), Point(12069.065429688, 13014.67578125), Point(12012.672851563, 12953.833984375), Point(11973.942382813, 12910.14453125), Point(11958.610351563, 12853.736328125), Point(11988.58203125, 12780.668945313), Point(12046.806640625, 12735.046875), Point(12117.080078125, 12729.838867188), Point(12185.567382813, 12743.389648438), Point(12225.575195313, 12803.530273438), Point(12255.934570313, 12859.2109375), …
Run Code Online (Sandbox Code Playgroud)

language-agnostic algorithm geometry point polygon

7
推荐指数
1
解决办法
4272
查看次数

Python代码计算三点之间的角度(lat长坐标)

任何人都可以建议如何计算三点之间的角度(纬度长坐标)

A : (12.92473, 77.6183)
B : (12.92512, 77.61923)
C : (12.92541, 77.61985)
Run Code Online (Sandbox Code Playgroud)

python math angle latitude-longitude

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

两点之间的角度,0-360,CW

如何找到原点为0,1的点与另一点(如下图中的)之间的角度(0 到 360 度,顺时针旋转) ?这是我需要的一个有点粗略的说明:0.3,-0.170,0

定制atanfull

左边的圆圈纯粹是为了显示我希望角度旋转的方向,以及它们从哪里开始/结束。右图给出了我将提供给代码的输入示例(即0.3,-0.17)。绿线是结果角度。

如何在 C++ 或 JavaScript 中找到如上所述的两点之间的角度?

javascript c++ math geometry angle

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

如何以编程方式在javascript中获取旋转的svg文本边界

我正在动态渲染SVG图像并创建旋转文本.如果旋转的文本与其他文本重叠,我需要删除该文本.但我无法测量旋转的文本来创建边界并检查下一个标签文本区域.

我已经创建了3个SVG元素来解释.

  1. SVG-1显示重叠的文本.
  2. SVG-2显示重叠的旋转文本(角度-10)
  3. SVG-3显示旋转的文本而不重叠(角度-50)

我将动态地将文本旋转到任何角度.如果在旋转文本时它重叠,我需要以编程方式删除重叠的文本.

小提琴链接

<div style=" width: 150px;height: 150px;">

  <svg style="width: 250px; height: 144px; border: solid black 1px;">
    <text id="XLabel_0" x="75" y="30">Sprint 13_March_2015</text>
    <text id="XLabel_1" x="100" y="30">DT_Apr2015_Sprint13</text>
  </svg>

  <svg style="width: 250px; height: 144px; border: solid black 1px;">
    <text id="Label_0" x="75" y="30" transform="rotate(10, 75, 34.5)">Sprint 13_March_2015</text>
    <text id="XLabel_1" x="100" y="30" transform="rotate(10, 100, 34.5)">DT_Apr2015_Sprint13</text>
  </svg>

  <svg style="width: 250px; height: 144px; border:solid black 1px;">
    <text id="XLabel_0" x="75" y="30" transform="rotate(50,94,34.5)">Sprint 13_March_2015</text>
    <text id="XLabel_1" x="100" y="30" transform="rotate(50,123,61)" >DT_Apr2015_Sprint13</text>
  </svg>
  
</div>
Run Code Online (Sandbox Code Playgroud)

谁有人建议解决方案?

javascript jquery html5 svg trigonometry

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

折叠数组中连续的“相同”元素

目标

给定一个元素数组和确定两个元素是否“相同”的标准,返回一个新数组,其中连续的“相同”元素已被删除,仅留下端点。例如:

a = [ {k:'a',v:1}, {k:'b',v:1}, {k:'c',v:1},
      {k:'d',v:2}, {k:'e',v:2},
      {k:'f',v:3}, {k:'g',v:3}, {k:'h',v:3}, {k:'i',v:3}, {k:'j',v:3},
      {k:'k',v:2},
      {k:'l',v:4}, {k:'m',v:4}, {k:'n',v:4}, {k:'o',v:4} ]
b = a.collapse_consecutive{ |h| h[:v] }
#=> [ {k:'a',v:1}, {k:'c',v:1},
#=>   {k:'d',v:2}, {k:'e',v:2},
#=>   {k:'f',v:3}, {k:'j',v:3},
#=>   {k:'k',v:2},
#=>   {k:'l',v:4}, {k:'o',v:4} ]
Run Code Online (Sandbox Code Playgroud)

动机

当在线图上绘制n 个点时,一系列连续的相同值结果对图形没有影响,除了端点之外。在下图中,黑色样本对最终图表没有影响。我正在存储精细采样的图表,并且理想情况下希望删除所有不相关的样本。

折线图,其中拐点由橙色点表示,线性部分上的多个点由黑点表示(水平和有角度的线性部分)

对于这个问题,我将问题简化为仅删除水平部分上的黑点,因为识别沿着有角度的线性部分的点(a)更难并且(b)更罕见(在我的例子中)。

现在的进展

到目前为止,我想出的最好的解决方案是依赖于数组索引的解决方案:

class Array
  def collapse_consecutive
    select.with_index{ |o,i|
      i==0 || yield(self[i-1])!=yield(o) ||
      !self[i+1] || yield(self[i+1])!=yield(o)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这是可行的,但在 Ruby 中依赖数组索引通常是“代码味道”:这表明有更优雅的实现可用。

ruby arrays

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

如何使用触摸旋转图像

任何人都可以告诉我,如何根据用户给出的触摸旋转视图....

我的意思是我想像旧电话那样做出类似的外观(按下并旋转拨号......)......替代文字

我很清楚如何旋转,但根据这种情况无法旋转.....

iphone

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

在Python中求三点之间的角度的问题

我有 3 个点 p1(x1, y1)、p2(x2, y2) 和 p3(x3, y3)。我正在尝试计算这三个点之间的角度逆时针方向)。我正在使用多个博客和 SE 网站中提供的以下点积方法(如下所示

def angle_between(p1, p2, p3):
    x1, y1 = p1
    x2, y2 = p2
    x3, y3 = p3

    v21 = (x1 - x2, y1 - y2)
    v23 = (x3 - x2, y3 - y2)

    dot = v21[0] * v23[0] + v21[1] * v23[1]
    det = v21[0] * v23[1] - v21[1] * v23[0]

    theta = np.rad2deg(np.arctan2(det, dot))

    print(theta)
Run Code Online (Sandbox Code Playgroud)

它为我提供了不在直线上的任何点的正确角度。例如

p1 = (0, 0)
p2 = (1, …
Run Code Online (Sandbox Code Playgroud)

numpy angle python-3.x

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

签约3点之间的角度,结果不好

我想在Java/Android中开发一种财富之轮.当用户触摸屏幕时,我检测到了移动,并且对于每个变化,我计算旧压力和最新压力之间的角度(函数onScroll).我有一个问题,因为我不记得我如何计算3点之间的角度......

我开发了3个函数,但每个函数都给了我一个不同的结果:

public class Test {

public static void main(String[] args) {
    Test test = new Test();

    Point center = new Point(2.26f, 2.26f);
    Point current = new Point(2.54f, 3.64f);
    Point previous = new Point(2.25f, 3.73f);

    System.out.println("1) Angle is "
            + test.function1(center, current, previous));
    System.out.println("2) Angle is "
            + test.function2(center, current, previous));
    System.out.println("3) Angle is "
            + test.function3(center, current, previous));
    System.out.println("################################");

    center = new Point(2.26f, 2.26f);
    previous = new Point(3.29f, 1.04f);
    current = new Point(0.98f, 2.25f);
    System.out.println("1) Angle is "
            + …
Run Code Online (Sandbox Code Playgroud)

java math android

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