问题标签 [geometry]
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.
algorithm - 计算圆和三角形的交点面积?
如何计算三角形(指定为三个 (X,Y) 对)和圆 (X,Y,R) 之间的相交面积?我做了一些搜索无济于事。这是为了工作,不是为了学校。:)
在 C# 中它看起来像这样:
geometry - 旋转和 OpenGL 矩阵
我有一个类,它包含一个用于缩放和平移的 4x4 矩阵。我将如何为这个类实现旋转方法?我应该将旋转实现为单独的矩阵吗?
geometry - 连接两个线段
给定两条二维线段 A 和 B,我如何计算连接 A 和 B 的最短二维线段 C 的长度?
sql-server - 我将如何概括多个相邻的多边形?
当您有一个带有几何类型字段(或地理)的表时,您可以调用该Reduce()
函数以减少形状的顶点数。效果很好。但是,当多个多边形相邻时(它们共享部分边界),缩小的多边形不一定这样做。
例子
SQL批处理:
这将返回两组多边形。首先是未约集:
然后是缩减集:
这些形状要简单得多,并且它们的粗略形状确实正确,但我想要的是仍然共享边框部分。所以他们必须在某种程度上一起减少。
我认为您必须首先将它们分解为多段线(从边缘到边缘),然后减少线,然后再次将它们重新组合成多边形。我不知道如何在 T-SQL 中做到这一点。
有任何想法吗?
编辑: 我接受了 alphadaogg 的回答。当前的两个答案对我来说并不完全令人信服,但 alphadogg 肯定付出了最大的努力,我非常感谢任何想法的分享。所以赏金给了他。
如果我找到令人满意的方法,我稍后会跟进自我回答。
跟进:我与 SqlServer Geo 团队的项目经理 Isaac Kunen 发送了电子邮件。他的有益回应如下:
你的问题一点也不罕见,但它不是我们直接支持的:这是一个需要了解你的图形拓扑的操作,我们没有内置这样的东西。本质上,你不想要为每个邻域存储单独的多边形。相反,您希望存储代表边界部分的曲线,并将这些边界重新用于多个多边形。概化时,您会概化共享边界,并且所有从属多边形都会受到影响。
你可以自己构建它——正如你引用的线程中的海报所暗示的那样——但这可能是真正的努力。
我不知道您正在使用的第三方软件,但这是另一种选择。如果您不想要一个成熟的 GIS,您可以使用像 Safe Software ( http://www.safe.com ) 中的 FME 这样的软件包。FME 不做通用拓扑,但我相信它有足够的功能来做你正在寻找的东西。请参阅: http: //www.safe.com/products/desktop/under-the-hood.php#3b。
我希望这有帮助。
干杯,
-艾萨克
algorithm - 在球体上计算 Voronoi 图的算法?
我正在寻找一种简单的(如果存在)算法来找到球体表面上一组点的 Voronoi 图。源代码会很棒。我是一个德尔福人(是的,我知道......),但我也吃 C 代码。
math - 如何找到有向距离的符号?
我在 3D 空间的有向线 AB 上有 2 个点 P 和 Q。它们可以在线上的任何位置,即不一定在 A 和 B 之间。
毕达哥拉斯显然给了你距离,但是我如何计算从 P 到 Q 的有向距离的符号?
opengl - 黄色三角形应该是 3 种颜色的 OpenGL
这可能是一个愚蠢的错误,但我看不到?!我有定义几何的类和渲染该几何的类。现在它是每个顶点的基本三角形和颜色。
这是定义所述几何对象数据的代码:
这是呈现所述数据的代码:
然而,无论我放什么,我的三角形总是黄色的,或者颜色数组中第一种颜色的值。我已经进入调试器并检查了每个单独循环迭代的值,并且 rgb 和变量的值确实相应地发生了变化,并且并不总是黄色,但结果是一个黄色三角形。
但是,如果我从 neheGL 教程中获取以下内容:
我得到一个很好的混合三角形,每个顶点有 3 种颜色
math - 在任意非矩形物体上寻路
我有各种表面为 3D 且非矩形的对象,例如球体、金字塔以及由网格表示的各种其他对象。网格不是由相同大小和分布在对象表面上的多边形组成,它们也不是像圆柱体、球体和圆锥体的理想形状那样都是半/对称的对象。
因此,我将如何设计或改进一种寻路算法,该算法采用任意网格并生成可以以多种方式环绕自身的节点?
algorithm - 如何生成细分的二十面体?
我在这里问了一些问题,并且在其他测地线形状中多次提到过这个几何形状,但我很好奇我将如何准确地生成一个关于点 xyz 的几何形状?
geometry - 你如何检测两条线段相交的位置?
如何确定两条线是否相交,如果相交,在什么 x,y 点?