标签: plane

如何在3D中有效地旋转和平移平面

我有一个由法线(n)和距离(d)(从原点)定义的平面.我想把它变成一个新的系统.长路是这样的:1)将距离(d)与法线(n)相乘得到aa向量(p)2)旋转(R)并平移(v)向量(p)得到(p')3) normalize(p')得到法线4)使用另一种算法找到新平面和原点之间的最小距离(d')

我没试过这个,但我想它应该有用.问题:是不是有更快的方法来获得n'和d'?如果翻译(v)是0而不是我可以跳过4).但如果它不是0?是否有更简单的方法来获得新的d'?

3d translation vector rotation plane

3
推荐指数
1
解决办法
6494
查看次数

3D线平面交叉,用简单的平面

我在3D空间中有两个点,其X坐标具有不同的符号.所以其中一个肯定位于X平面的一侧,另一侧位于另一侧.

现在我想以最简单和最优化的方式找到这个平面和由两点组成的线的交点.

我知道如何做一般线平面交叉,但因为在这种情况下,平面只是x平面,我认为应该有一些我可以采取的捷径.

谢谢!

3d geometry line plane

3
推荐指数
1
解决办法
3068
查看次数

在three.js的边缘旋转一个平面

我想旋转一个平面,但我无法弄清楚如何设置旋转轴.我想围绕它的边缘旋转一个平面.

我已经看到了建议矩阵变换的解决方案,但他们缺乏解释,所以我无法应用它们.

rotation plane three.js

3
推荐指数
1
解决办法
4069
查看次数

如何在GNU Octave中绘制2个平面

我想在同一个图中绘制两架飞机,我该怎么做?

x + y + z = 1
2x - y + 3z = 4
Run Code Online (Sandbox Code Playgroud)

谢谢!

math plot octave plane

3
推荐指数
1
解决办法
3000
查看次数

THREE.JS 沿给定的线和向量放置一个平面

我在 3D 空间中有一条任意线和垂直向量,所以两者都可以形成一个平面。参见插图。

在此处输入图片说明

任务是沿着这条线放置现有的平面,这样平面的脸就会被看到(渲染),见第二个插图。

在此处输入图片说明

需要有关如何操作的指南。提前致谢。

vector quaternions plane normals three.js

3
推荐指数
1
解决办法
1085
查看次数

按顺序到达每个点的给定距离内的路径

我有一个二维平面中点的有序列表。我想找到最短的路线,以便它按照给定的顺序至少在距离每个点 X(或更近)的范围内。我如何找到这条路线?

我意识到将确定路线(方向在那里改变)的点将位于周长 X 的圆上,以输入点本身为中心,但我没有进一步了解。

我正在用 Python 实现这一点,但很乐意提供任何理论帮助。

示例:(哎呀我数不过来所以跳过了 7) 例子

algorithm shortest-path plane euclidean-distance

3
推荐指数
1
解决办法
121
查看次数

如何找到包围所有给定点的最小半径圆?

假设平面上有大约 1000 个奇数点。

然后,我认为可以做的是丢弃不以任何方式影响圆半径的点 -凸包不通过的点[使用几种算法之一]。这给我们留下了重要的要点。

现在从现在开始,可以做什么来找到最小半径圆?

一旦我了解了如何对圆形进行此操作,我就希望将其推广到椭圆。

任何指向某些“公共源代码”的链接都会有所帮助,以便我可以将其修改为省略号。

geometry convex-hull minimum-size plane

2
推荐指数
1
解决办法
4947
查看次数

Three.js 通过直线放置一个垂直于平面的平面

我在 3D 空间中有一条直线和一个平面。我想将平面的宽度和长度线垂直放置。请参阅我的jsFiddle

我是 Three.js 和向量计算的新手。

  1. 当前 2. 期望结果

例子

请给我建议。(为我糟糕的英语道歉)

JS代码:

let renderer;
let camera;
let controls;

let scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(54, window.innerWidth / window.innerHeight, 0.1, 1000);

renderer = new THREE.WebGLRenderer({
    antialias: true
});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(new THREE.Color(0xfefefe));
document.body.appendChild(renderer.domElement);

camera.position.set(5, 2, 7.5);


controls = new THREE.OrbitControls(camera, renderer.domElement);


let gridHelper = new THREE.GridHelper(4, 4);
scene.add(gridHelper);

//line is defined by p0-p1
var p0 = new THREE.Vector3(-2, 2, 1);
var p1 = new …
Run Code Online (Sandbox Code Playgroud)

line plane three.js

2
推荐指数
1
解决办法
670
查看次数

THREE.js 将 THREE.planeGeometry 转为 THREE.plane

我正在尝试为 localClipping 配置 THREE.plane 的位置,但我发现它有点不直观。我有一个想法,是否有可能创建一些 planeGeometry,操纵它,并将它的位置和方向转换为在它的位置创建一个 THREE.plane?

这对于配置剪切平面的位置很有用。

javascript linear-algebra plane three.js

1
推荐指数
1
解决办法
937
查看次数

如何获得3d中点到平面的距离?

我有一个三角形,其中包含点 A、B、C 和空间中的点 (P)。如何获得点到平面的距离?我需要计算从 P 到平面的距离,即使我的三角形距离很远(或者不在该点上方,如图所示)。

点和三角形:

3d geometry point projection plane

1
推荐指数
1
解决办法
9346
查看次数

在 Matplotlib 中绘制以平面为中心的实心圆柱体

我将一个平面拟合到 3d 中的一堆点,最初使用 np.meshgrid 给它一个任意大小,但现在我试图绘制一个以该平面为中心并以相同方式定向的圆柱体(这样平面拟合会切割圆柱体的高度减半),但具有指定的半径和高度。我能找到的在 matplotlib 中绘制的圆柱体的唯一示例是空心的,并且通常在顶部和底部打开。我希望我绘制的那个是实心的,这样我就可以清楚地看到它包含哪些点。

这是一个随机生成平面的最小工作示例。由于我使用的平面总是由一个点和一个法向量给出,圆柱体也应该基于这些东西(加上提供的半径和在平面上方和下方延伸的高度)。

from __future__ import division #Enables new-style division
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import seaborn as sns
import numpy as np

cen_x = 0
cen_y = 0
cen_z = 0

origin = np.array([cen_x,cen_y,cen_z])

normal = np.array([np.random.uniform(-1,1),np.random.uniform(-1,1),np.random.uniform(0,1)])

a = normal[0]
b = normal[1]
c = normal[2]

#equation for a plane is a*x+b*y+c*z+d=0 where [a,b,c] is the normal
#so calculate d from the normal
d = -origin.dot(normal)

# create x,y meshgrid
xx, …
Run Code Online (Sandbox Code Playgroud)

python 3d plot matplotlib plane

0
推荐指数
1
解决办法
3142
查看次数