问题标签 [vectormath]

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.

0 投票
1 回答
244 浏览

math - Perpendicular Distance using Normal Vector

I'm currently writing a script that determines the shortest distance from a point to a line created by two vector points. This script is going to be used in a graphics program in order to do bezier clipping, so it'll be executed thousands of times.

Due to this requirement, I'm trying to utilize a normalized line between two points so that calculating distance won't be so taxing on the user. My problem, is that my algorithm doesn't seem to work despite my efforts to fix it.

CODE

In this code, I define some random vectors p0,p1,v1. I then determine a line between p0 and p1. I normalize the line. I then find the slope and use that to find the YIntercept. I finally plug this into the formula for distance for a normalized curve, but my results are always wrong.

Info on the Perpendicular Distance can be found on the following link: A mathematics website regarding relevant equations

0 投票
1 回答
55 浏览

c++ - 如何将向量行(点)对齐到中心?

几天前我发布了这个问题,从评论中我没有像我认为我需要的那样制定这个问题。

这是我的更新版本,包含更多信息。

我有以下。

在此处输入图像描述

与中心左侧对齐的点行。

通过以下方式实现:

CastLocation 变量控制每个点的位置。

但是我想将它们对齐到中心而不是偏移到一侧,我无法计算出数学来做到这一点。

答案不必在 C++ 中,可以只是数学,如果有帮助,我可以从那里解决。

谢谢。

在此处输入图像描述

当前的:

在此处输入图像描述

预期的:

在此处输入图像描述

更新的解决方案代码:

0 投票
3 回答
10877 浏览

c# - 如何在线找到最近的点?

我有一个点(A)和一个向量(V)(假设它是无限长的),我想找到离我的原点(A)最近的点(B)。使用 Unity Vector2 或 Vector3 的最简单表达式是什么?

0 投票
1 回答
1284 浏览

unity3d - 与 Vector3.ProjectOnPlane 等效的 Unity 着色器 (hlsl)

在 Unity (hlsl) 的着色器中,我正在寻找一种将矢量(float3 或 float4)投影到给定平面法线方向的平面上的方法。我需要的是与 Unity 的 Vector3.ProjectOnPlane 函数等效的东西: https ://docs.unity3d.com/ScriptReference/Vector3.ProjectOnPlane.html

0 投票
3 回答
329 浏览

unity3d - 有人能解释一下这个 Unity 2d 碰撞检测是如何工作的,以及为什么有时会失败吗?

我试图从这个实时会话中调整 2d 平台游戏角色控制器:https ://www.youtube.com/watch?v=wGI2e3Dzk_w&list=PLX2vGYjWbI0SUWwVPCERK88Qw8hpjEGd8

进入二维自上而下的角色控制器。它似乎有效,但有可能通过按下一些我无法真正找到的键组合进入对撞机,但它很容易实现。

问题是我不明白碰撞检测是如何在这里真正工作的,所以我不知道如何解决它。如果有人可以解释这是如何工作的,我将不胜感激。

谢谢 :)

这是播放器的设置方式: Player Inspector

PlayerControllerTopDown2D.cs

PhysicsObject2D.cs

0 投票
1 回答
137 浏览

math - 计算对象的变换,使其与另一个对齐

假设我有两个矩形,每个矩形都有一个指向某个方向的“连接器”。链接的变换(位置和角度)是相对于其父矩形的中心指定的。

在下面的示例中,矩形 A 的链接是 (x: 0, y: -0.5, rotation: 0) 而 B 的链接是 (x: 0.5, y: 0, rotation: 45)。

两个矩形可以通过旋转相互“插入”,使得它们的链接具有相同的坐标并面向相反的方向。

图表

我试图弄清楚如何计算矩形 B 在链接后相对于矩形 A 的变换。

在这种情况下,矩形 A 是 (0, 0, 0),A 的链接是 (0, 0.5, 0),B 的链接是 (0, 0.5, 180),B 是 (~0.3, ~-0.8, 135)。

有谁知道在上面的例子中如何计算 B 的最终位置?

0 投票
1 回答
31 浏览

math - 求解给定一个分量和方向的向量,表示为单位向量

假设我有一个 3D 向量的 y 分量,并且我有一个表示最终所需向量方向的单位向量。我将如何解决 X 和 Z 分量?谢谢!

0 投票
1 回答
47 浏览

math - 颜色点基于它们所在的线的哪一侧

我正在尝试制作一个小算法,根据点所在的线的哪一侧为点着色某种颜色。这就是我目前所拥有的。代码没有给出任何错误,但点的颜色也不正确。有人可以向我指出我做错了什么吗?

见代码:

正如您从下面的图片中看到的那样,有时它会起作用,但 90% 的时间它不起作用。第一张图是正确的结果,第二张图是错误的结果
在此处输入图像描述 在此处输入图像描述

如果有任何不清楚的地方请告诉我,以便我澄清!

0 投票
1 回答
963 浏览

scala - 使用标准库在 Scala 中计算两个稀疏向量的点积(并生成它们)

我正在尝试计算 Scala 中两个稀疏向量的点积(标量积)。我编写的代码正在做我想做的一切,除了将两个向量的相似元素相乘时,它没有考虑 0 值。

我希望得到 72 作为我的答案,因为 3 和 18 是唯一非零的键,它们的计算结果为:(3 -> 21) + (18 -> 51) = 72

我使用 withDefaultValue(0) 希望它会“填充”未提及的键/值对,但我认为情况并非如此,我相信这就是我的问题所在,一开始。我想我的问题也可能是“如何使用标准库在 Scala 中生成稀疏向量”。

如果我输入相应的 0 并且两个映射(向量)具有相同数量的键/值对,我的代码可以正常工作。

我可以通过这种方式创建一个稀疏向量,然后更新值

但我想知道是否有“更好”的方法。更多关于我使用“withDefaultValue(0)”尝试和失败的内容

0 投票
2 回答
884 浏览

c# - 虚线在 Unity 上弹跳

我正在尝试从任何泡泡射击游戏中复制射击游戏。气泡将跟随的虚线。

我想要做的是,创建一条虚线,当接近相机限制时反弹(反射)(相机的限制是图像的限制)。此外,当被泡泡(蓝点)击中时停止创建更多点。

这条线到目前为止反弹,但不正确(见角落)。此外,当被泡泡(蓝点)击中时它不会停止。

图像如下: 红点是支点(虚线的起点)。蓝点,是一个气泡。