问题标签 [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 - 最大线性维度 2d 点集
给定一组有序的 2D 像素位置(相邻或相邻对角线),它们形成一条没有重复的完整路径,如何确定周长为该组像素的多边形的最大线性尺寸?(其中 GLD 是集合中任何一对点的最大线性距离)
对于我的目的,显而易见的 O(n^2) 解决方案对于数千点的数字可能不够快。是否有良好的启发式或查找方法可以使时间复杂度更接近 O(n) 或 O(log(n))?
graphics - Microsoft.DirectX.Vector3.Normalize() 不一致
标准化 Vector3 对象的两种方法;通过调用 Vector3.Normalize() 和另一个从头开始规范化:
上面的代码产生了这个:
为什么?
(奖励积分:为什么是我?)
python - 您如何确定一个点位于线段上的其他两个点之间?
假设您有一个二维平面,上面有 2 个点(称为 a 和 b),每个点用 x 整数和 ay 整数表示。
如何确定另一个点 c 是否在由 a 和 b 定义的线段上?
我最常使用 python,但任何语言的示例都会有所帮助。
javascript - 编程基于坐标的游戏,例如点或棋盘格
我希望学习一些关于笛卡尔几何或基于坐标的游戏编程的基础知识。平台无关紧要,尽管我最精通 JavaScript、C、Objective-C。最终能够创建诸如点或棋盘格之类的东西将是理想的。这个想法是让我了解精灵如何工作以及路径如何以编程方式工作。我对你们的问题是,学习基础知识的最佳地点在哪里?数学不是很重的东西,因为坦率地说,在这一点上,任何比微积分更高级的东西对我来说都是一条灰线,需要刷新我的记忆。
如果有特定的书籍、站点或开源项目——那可能对我帮助最大。
感谢您的任何想法。
graphics - 如何计算 glsl 中两条法线之间的角度?
如何计算 glsl 中两条法线之间的角度?我正在尝试将菲涅耳效果添加到对象的外边缘(将该效果与 phong 着色相结合),我认为角度是我唯一缺少的东西。
片段着色器:
顶点着色器:
不同的vec3
layout - 将矩形堆叠成最方形的排列
我的情况
- 我有 N 个矩形
- 矩形都具有相同的形状(例如 2 英寸宽 x 1 英寸高) - 让我们将此尺寸称为 Sw 和 Sh 的宽度和高度
- 我想将这些矩形放置在网格中,使矩形完全位于顶部并彼此相邻 - 就像您在电子表格中看到的一样
- 我需要的是:给定 N、Sw 和 Sh,将这些矩形堆叠成可能的最方形排列的行数 (R) 和列数 (C) 是多少
- 可以理解的是,R & C 可能提供比需要更多的单元格(例如,如果 N=15,Sw=1,Sh=1 则 R=4,C=4 为 15 个矩形产生 16 个“槽” - 这是可以的。
- 如果 Sw=Sh 那么我卑微的数学技能就足够了——当它们的矩形有不同的宽度和高度时——坦率地说,这超出了我的能力。
一些笔记
- 是的,我读过这个问题:堆叠矩形以尽可能少地占用空间,不,它没有帮助。这也不是同一个问题。这个问题是关于可能具有不同大小的矩形,在这个问题中,矩形具有相同的大小
- 是的,我在 wolfram.com 等网站上搜索过,但没有运气
- 我没有很强的数学背景,所以我解决这个问题的方式本身可能会阻止我找到答案 - 我已经尝试过与平铺、剖析、分解相关的相关搜索,但在那里也没有任何成功
一些例子
AaronofTomorrow's answer的实现
受 Will 的回答启发的另一个实现(2008-12-08 更新)——这是我最终使用的
python - CGAL 的 python 绑定发生了什么?
我在搜索将凹多边形分解为最少数量的凸组件的算法时找到了计算几何算法库。网站外的链接和大量的谷歌结果表明它有 python 绑定,这真的很方便,但是所有的链接都死了!这是怎么回事?我现在在哪里可以得到它?
function - 给定底坐标和高坐标,求等腰三角形的最后一个坐标
我对三角学一无所知,尽管早在学校就学过三角学,而且我认为这应该很简单,但是在网上浏览大量三角学东西会让我头疼:)所以也许有人可以帮助我...
标题准确地解释了我想要做什么,我有一条线:x1,y1 和 x2,y2 并且想要一个函数来找到 x3,y3 以在给定高度的情况下完成一个等腰三角形。
为了清楚起见,线 x1,y2 -> x2,y2 将是基础,它不会与任何轴对齐(它将以随机角度..)
有没有人有一个简单的功能?
math - 确定多个点的质心
我正在编写一个用 python 编写的映射应用程序,我需要获取 N 个点的纬度/经度质心。假设我有两个位置
使用欧几里得公式很容易获得两点的中心。我希望能够做到两点以上。
从根本上说,我想做一些类似http://a.placebetween.us/的事情,一个人可以输入多个地址并找到一个对每个人都等距的地点。
math - 通过 3 点相关性对齐点云?
假设我有 3 个点云:第一个点云有 3 个点 {x1,y1,z1}、{x2,y2,z2}、{x3,y3,z3},第二个点云与 {xx1,yy1, zz1}, {xx2,yy2,zz2}, {xx3,yy3,zz3} ...我假设将第二个点云与第一个点云对齐,我必须将第二个点乘以 T[3x3matrix]。
1)那么我如何找到这个变换矩阵(T)?我试图用手做方程式,但未能解决它们。某处是否有解决方案,因为我很确定我不是第一个遇到问题的人。
2)我假设矩阵可能包括倾斜和剪切。有没有办法找到只有 7 个自由度(3translation、3rotation、1scale)的矩阵?