问题标签 [plane]

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 回答
142 浏览

math - 查找第四行是否为四边形

假设我在一个平面上有 9 个点,下图显示了我在这些点上放置线(顶点)的顺序。

5/9 点连接

我在向量中分别跟踪点和线。现在我放了另一条线(可以在任何地方),但下面是现在的样子

第 6 点已连接

我怎样才能知道第 6 个顶点(或最近添加的顶点)是四个边的盒子(不一定是正方形,只要它们是封闭的盒子,就是这样)。

我知道找到两条线/顶点之间的距离可能是一个好的开始,但是有人可以解释一下这是怎么回事吗?

0 投票
2 回答
4414 浏览

vector - 用两点旋转线

我有两点

我只在 x+, y+ 平面上工作

并说这条线是垂直的

我如何将它旋转 90 度以获得

请记住,我需要相同的形式——即,

顺便说一句,这些线只能是垂直的或水平的,所以斜率要么是未定义的,要么是零。

0 投票
1 回答
1501 浏览

opengl - 如何在OpenGL的对象空间坐标中获得近剪裁平面坐标

我正在渲染一个有 8 个顶点的立方体。当我旋转或靠近立方体时,一些顶点可能会被近剪裁平面剪裁。但是,出于某种原因,在我的问题中,我需要找到立方体边缘与近剪裁平面的交点。我知道点数可能会有所不同。所以我想的是获得近剪裁平面(可能在眼睛空间 - 但如何?)并对矩阵进行一些逆计算以获得我的立方体对象空间中的坐标,然后我可以找到交叉点并解决我的问题。但这里的问题是:

  1. 如何获得近剪裁平面每个角的坐标?(或平面方程系数)
  2. 如何返回对象空间?

测试:

作为一个测试,看看我是否能正确获得坐标,我尝试了这个:我试图做的是获得 MVM(模型视图矩阵)和 PM(投影矩阵)的倒数。并试图想象具有 V1 = (-1,-1,-1,1), V2 = (1, -1, -1, 1), V3 = (1, 1, -1, 1) 的近剪裁平面, 和 V4 = (-1, 1, -1, 1) 坐标。所以我在想如果我对四个顶点中的每一个都这样做:

V1 = IMVM * ( IPM * V1 );

V2 = IMVM * ( IPM * V2 );

V3 = IMVM * ( IPM * V3 );

V4 = IMVM * ( IPM * V4 );

其中 IMVM 是模型视图矩阵的逆矩阵,IPM 是投影矩阵的逆矩阵。然后,当我使用当前加载的矩阵(我只是使用了逆矩阵)渲染这四个点时,我应该在屏幕前看到一个站立的窗台正方形,因为我的逆乘法应该被与 openGL 当前加载的矩阵的乘法相抵消. 但由于某种原因它不起作用,我尝试转置和正常。我注意成为专栏专业等。但它似乎不起作用,而不是得到一个静止的suqare(代表我的近剪裁平面)我得到一个不断移动和跳跃的飞机!

0 投票
0 回答
133 浏览

vector - 在给定 4 个浮点数的情况下找到平面的表面法线

我的任务是找到一个平面的表面法线,该平面的定义为:

这可能吗?我已经看到了 3 个向量和一个浮点数的计算,但是我不知道该怎么做。我知道如果你有 2 个向量,你可以对它们执行一个叉积来接收表面法线,但是我不知道如何处理 4 个浮点数。

0 投票
1 回答
62 浏览

plane - 从具有少量代表性点的较小平面创建较大的笛卡尔点平面

我有一个由几个点组成的笛卡尔点平面。我想使用这少量的点来创建一个较大的点平面,该平面在几何上与较小的平面相似。有没有简单的方法来实现这一点?

0 投票
1 回答
393 浏览

matlab - 控制法线向量的方向,matlab

我有几百分。连接它们给了我几百架飞机。我需要控制法线向量的方向,这样我总是从建筑物外面看这个平面。

这里有几点。

用最小二乘法拟合平面给了我以下参数

绘制这些点

在此处输入图像描述

当我从建筑物的外部向内部看时,2 号飞机还可以。但是我怎样才能改变平面 1 的方向。它向我显示了建筑物内的法线方向。它应该是相反的方向。

注意:我有数百个平面,所以我需要一些系统的方法来让这些平面法线在正确的方向上。

%------------------------已编辑-------------- ------------------%

% 对于顺时针和逆时针 % 我得到相同的结果

在此处输入图像描述

0 投票
2 回答
3859 浏览

camera - Unity 3D 中的相机平截头体平面

我知道CalculateFrustumPlanes()inUnity3D返回一个对象数组Plane,每个对象代表一个不同的截锥平面,但我找不到任何文档来建议哪个元素是哪个?

例如

等等

对于四叉树系统,我需要计算空间中的一个点(如边界体积的中心点)是否在相机平截头体内。

0 投票
2 回答
1868 浏览

3d - 3D平面上的点

我试图找出一种方法来移动面向相机的 3D 平面上的对象,使用Unity3D. 我希望这些对象被限制在平面上,它本身可以在 3D 空间中移动(相机跟随它)。

为此,我认为我会使用平面的坐标系来移动对象。我认为平面上的 x,y 坐标将在实际 3D 空间中具有相应的 x,y,z 坐标。问题是,我不知道如何访问、使用或计算该平面上的 (x,y) 坐标。

我已经进行了一些研究,并且遇到了向量和法线等,但我不明白它们与我的特定问题有何关系。如果我在寻找正确的地方,你能解释一下吗?如果我不是,你能指出我正确的方向吗?非常感谢。

0 投票
1 回答
10049 浏览

vector - 试图从法线计算平面的斜率

我有一组用于 3D 网格上的点的 3D 法线向量,我需要计算每个点下方区域的斜率。我不知道该怎么做。我不需要 X 或 Y 斜率,我只需要所讨论点的总斜率(虽然公平地说,我不知道如何分别从 X 和 Y 斜率推导出总斜率,这是我的问题的一部分)。我确实看过这篇文章,但我无法真正理解它的正面或反面......矢量是向外的。如果有人可以向我解释这一点,我将不胜感激。

0 投票
1 回答
2061 浏览

vector - 从 3D 平面上的 3D 点检索 2D 坐标

我有一个点 (x, y, z),它位于由 ax+by+cz+d=0 定义的平面上。我试图弄清楚 (x', y') 相对于平面是什么,它的起点为 (x0, y0, z0) 并且 x' 轴由 (1,0) 定义和y' 轴由 (0,1) 定义。

我的主要目标是让鼠标点击表面,并知道特定表面上的 2D 坐标。我已经设法将光线相交到一个平面上,这非常微不足道。

作为旁注,我使用的是 DirectX 9 - 我对矩阵/向量数学的熟悉程度受到通过 D3DX 库提供给我的 API 的限制。

我的一个想法是使用其中一个轴向量之间的角度并找到与原点的距离,并使用简单的三角函数计算出 x/y。但我不确定这是否真的是一个理想的解决方案 - 或者它是否真的可以解决手头的问题。