在MATLAB中,已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标例如,已知点A,B,C,D,怎么求点D在平面ABC上的投影点坐标.还有一点:怎么把这些三维坐

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 01:00:40
在MATLAB中,已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标例如,已知点A,B,C,D,怎么求点D在平面ABC上的投影点坐标.还有一点:怎么把这些三维坐

在MATLAB中,已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标例如,已知点A,B,C,D,怎么求点D在平面ABC上的投影点坐标.还有一点:怎么把这些三维坐
在MATLAB中,已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标
例如,已知点A,B,C,D,怎么求点D在平面ABC上的投影点坐标.
还有一点:怎么把这些三维坐标换算成平面ABC上的二维坐标
这是想用在一个程序里的,希望高手作答,能用编程语言简单实现
有请高手现身!

在MATLAB中,已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标例如,已知点A,B,C,D,怎么求点D在平面ABC上的投影点坐标.还有一点:怎么把这些三维坐
You might want to review the linear algebra text book of freshman's course in most college.
First of all, let's make some vectors based on your given points:
b=B-A
c=C-A
d=D-A
, In other words, we simply let A be the original point. Vectors b, c, and d are connecting from A to B, to C, and to D, respectively. We are going to answer your questions based on these vectors.
To check if A, B, and C are not in a straight line, we simply need to check if vector b and c are independent. We use the rank of matrix with verctor b and c to determine:
r = rank([b c])
Here we assume b and c are column vectors. (If b and c are row vectors, r = rank([b;c]) in Matlab) Now, If r=2, vector b and c are independent, in other words, A, B and C are not in one straight line, they can determine a plane.
We assume b and c are independent now. We use the following steps to obtain a basis:
(1) take b as the first vector: v1 = b
(2) get the normal vector of the plane determined by b and c:
v3 = cross(b,c)
(3) get the third vector which is orthogonal to both v1 and v3:
v2 = cross(v3, v1)
*Note: v2 must be on the plane defined by b and c, or equavilently by A, B and C
(4) normalize v1, v2 and v3, we get:
e1 = v1 / norm(v1)
e2 = v2 / norm(v2)
e3 = v3 / norm(v3)
Then, e1, e2 and e3 form a basis of whole 3D spance.
To get the projection of D onto plane ABC, you can get the inner product of d and each vector of the basis :
p1 = dot(d,e1)
p2 = dot(d,e2)
p3 = dot(d,e3)
Then:
projectionOfDOntoABC = p1*e1+p2*e2+p3*e3
Finally, e1 and e2 form a basis of the plane ABC. You can use (p1,p2) as the coordinates with respect to the basis e1,e2 to refer a point on the plane.

在MATLAB中,已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标例如,已知点A,B,C,D,怎么求点D在平面ABC上的投影点坐标.还有一点:怎么把这些三维坐 利用matlab,在点云数据中,怎么取出一个圆形(已知圆心和半径)区域的点?, 已知一个点坐标和一个由三点组成的平面(这三点坐标已知),求这个点在这个平面上的投影坐标.我想咨询下,你的实现方法是怎样的?想学习学习. matlab 圆的拟合已知空间内十组坐标,十个点大致围成一个圆,怎样用matlab求圆心坐标和半径,可否把源代码给我?跪谢啊! matlab 画图 已知一个点的坐标和图形上一点 怎么画着两点的直线呢 matlab怎样在一个坐标里画多个图形 matlab 怎么自定义一个点(已知横坐标和纵坐标) 在空间直角坐标系中,已知一个点坐标和一个平面的方程怎样求这个点到这个平面的距离. matlab中怎么画浓度分布图?我现在的数据是:已知网格点处的坐标和24个小时的浓度(在txt文件里),想看看浓度分布的动态显示,就是从第一个小时到最后一个小时, matlab 圆的拟合已知空间内十组坐标,十个点大致围成一个圆,怎样用matlab求圆心坐标?源代码是什么?好吧,不求空间的了,算那十个点是在一个平面,该怎样求?matlab的源代码? 全站仪测量坐标,已知一个点为(0,0,0)和另一个点的坐标(10,0,0),如何测其他坐标.全站仪不能驾在这两个已知点上,只能放在其他的点上. matlab中生成voronoi图时,能否设定一个边界使得voronoi顶点不出现无穷远点?matlab中voronoin能得到所有的voronoi顶点的坐标,但这些坐标中含有inf的无穷点.能否设定一个边界使得无穷远点被约束在边 知道几个点的经纬度和海拔高度信息,计算一个未知点的经纬度和海拔高度信息.在普通的数学空间直角坐标系中,由几个点的坐标和接收到的未知点传播到的光的时间,可以算出未知点的坐标信 不用matlab自身的求和函数,怎样在matlab中建立一个a到b的求和函数的m文件,已知a和b都是整数, 怎样在matlab中建立一个a到b的求和函数文件,已知a和b都是整数 matlab 矩阵数据排列能否实现已知一个矩阵和一组下标数据,将矩阵中对应下标的数据取出并由小到大排列这样的功能? matlab 中已知一个分布的表达式(该分布是由正态分布和拉普拉斯分布合成的),如何得到服从该分布的随机数 matlab中 已知一个矩阵580*580 并且确定一个点 如何建立一个极坐标如题,矩阵中有一个圆,现在已经确定了圆心,现在想以这个圆心建立一个新的矩阵应该如何做,并且以这个点建立一个极坐标系