我试图在不使用Haskell库的情况下实现Haskell中两条线的交集和两个平面的相交。我该怎么开始呢?任何模板或实现都将有助于学习。我是哈斯克尔的初学者
发布于 2019-12-28 13:14:23
在三维空间中有直线和平面的公式。
线路

如果有一个与L线平行的v向量(希望通过O(0,0,0)点)和v= (a,b,c),我们也知道L上有一个P点,其中P= (x0,y0,z0):
L <=> (x - x0) /a= (y - y0) /b= (z - z0) / c
飞机

如果我们想定义一个Pl平面,那么我们需要平面上的一个点(x0,y0,z0)和与平面垂直的向量,v= (a,b,c)。现在的方程式是:
<=> a*x+b*y+c*z+ d,
哪里
d = -(a * x0 +b* y0 +z* z0)
Haskell函数
现在您已经知道了这些函数是什么,您只需要实现它们:
https://www.tutorialspoint.com/haskell/haskell_functions.htm
使用您已经了解到的信息,您应该能够实现它。
线和平面的交点
两个度量公式的交集是满足这两个方程的点集。在大多数情况下,在直线的情况下,交点是一个点。如果这两条线是相同的,那么它们的交集就是它们自己。
在大多数情况下,两个平面的交点是一条线。如果我们把一个平面和它自己相交,它也可以是一个平面。
您需要对一个方程组的计算进行编程,其中有两个方程作为输入,一个方程/点作为输出。
插图是受https://brilliant.org启发的
https://stackoverflow.com/questions/59510676
复制相似问题