问题标签 [computational-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.
java - Java - 绘制尺子(带有 90 度角刻度线的线)
我正在使用 Java AWT 在面板 (Line2D
和Graphics2D.drawLine()
) 上画线,我想知道如何用刻度线画一条线,类似于:
|----|----|----|----|----|
我事先知道我想在哪些位置画刻度线。
线条可以在任何位置,因此必须以相对于线条本身的角度绘制刻度。
我的基本几何和在 Java 中应用它的能力让我失望。:)
algorithm - 凸多边形的最大和最小对角线算法?
有没有比蛮力比较更好的方法来获得多边形的最大和最小长度对角线?更具体地说,我想找到比率,这样我就可以根据它们的“皮肤”对多边形进行排序。
多边形不是太大(通常每个多边形有 4-8 个面),但数量很多。我想我只是和 SO 核对一下,看看是否有更好的方法来做到这一点。
提前致谢
algorithm - 基于点和法线识别边缘
我在根据相对法线对点进行分类时遇到了一些问题。我想做的是使用我在下面获得的信息将简化的多边形拟合到点,并在一定程度上偏向 90 度角。
我对每个点都有粗略的(虽然不是很准确)法线,但我不确定如何根据点的接近程度和法线的接近程度来分离数据库。我计划在对每张脸的点进行分块后进行线性回归,因为法线有时与实际的脸不太吻合(尽管每张脸彼此靠近)
示例: 替代文字 http://a.imageshack.us/img842/8439/ptnormals.png
理想情况下,我希望能够在这些数据周围放置一个矩形。但是,多边形不必是凸的,也不必与轴对齐。
关于如何实现这样的事情的任何提示都会很棒。
提前致谢
java - Java AWT - 绘制由平滑曲线连接的多边形
在这里,我要问更多愚蠢的图形问题。希望很快我能离开图形世界,再次坚定地站在无色中间层。我对那些能够通过代码以令人愉悦的方式摆弄图像的人有了新的尊重。
也就是说,我正在画布上绘制多边形。它可以有任意数量的点,但我们现在假设为 12。正如所实现的那样,多边形通过直线从点到点连接。我想应用某种类型的转换,以便更“自然”地绘制形状,就好像有人用钢笔/铅笔连接了这些点。
我不确定这是否过于模糊的描述。我认为我正在寻找的是贝塞尔曲线,但我是一个图形(和几何)松弛下巴。我一般对新颖的解决方案感兴趣,只是让直边多边形看起来更像一团墨水。也许通过控件来实现或多或少的“自然”形状。
如果您需要任何其他信息,请随时询问。
非常感谢,马特
c++ - 如何在CGAL中计算一条线上的点
给定 CGAL 中的 3D 线,我如何计算该线上距端点已知距离的点?
algorithm - 用给定的一组矩形填充任意二维形状
我在二维空间中有一组矩形和任意形状。形状不一定是多边形(可能是圆形),矩形有不同的宽度和高度。任务是用尽可能接近的矩形来近似形状。我无法更改矩形尺寸,但允许旋转。
这听起来与包装问题和覆盖问题非常相似,但覆盖区域不是矩形......
我想这是 NP 问题,我很确定应该有一些论文显示出很好的启发式方法来解决它,但我不知道要谷歌什么?我应该从哪里开始?
更新:我刚想到一个想法,但我不确定它是否值得研究。如果我们将边界形状视为充满水的物理模具会怎样。每个矩形被认为是一个带正电的粒子,具有大小。现在将最小的矩形放到它上面。然后在随机点按大小删除下一个。如果矩形太靠近,它们会相互排斥。继续添加矩形,直到全部用完。这种方法可行吗?
math - 如何计算逆运动学
我想知道如何使用逆运动学计算旋转角度。我计划将其用于实时 3d 动画。有人知道一些详细说明特定解决方案的优秀文献吗?
algorithm - 缩放任意方向和尺寸的 3D 框,以实现强制无交叉
我有一组具有任意尺寸、平移和旋转的 3D 框。我需要通过在它们的 3 维分量上按单个常数缩放它们来强制盒子不相交。
目前,我正在通过检查交叉点来迭代地执行此操作,然后迭代地减小缩放比例,直到没有交叉点为止。然而,这需要很长时间才能运行,我需要做很多次。
有没有人知道一种方法可以在一次点击中找到我需要的缩放比例。近似的解决方案是最受欢迎的。
非常感谢大家。
抢。
math - 四元数和三轴
给定一个四元数 q,和三个 3D 向量(vx, vy, vz),它们形成坐标轴,可以任意方向定向,但都相互垂直,从而形成一个 3d 空间。
如何检查四元数 q 是否旋转到与某些 3D 向量(vx、vy、vz)相同的方向(或相反的方向)?
math - 平行或垂直于所有基向量的对象四元数
给定一个对象四元数 q,以及形成 3D 空间的基向量 vx、vy、vz,如何检查四元数是平行还是垂直于所有基向量?
例如,我有基向量:
和四元数
我知道四元数与所有基向量垂直或平行(或反平行),但我如何实际计算它?
另一个例子,
这与所有基向量都不是垂直或平行(或反平行)。