获取计划和任意卷的2D交集

时间:2017-07-12 13:55:38

标签: sage

为了在Sage中获得计划和任意卷的交集,我做到了这一点:

eq_object = -(cos(x) + cos(y) + cos(z))
eq_knife = 3*x+2*y+1*z 
object = implicit_plot3d(eq_object, (x,-4,4), (y,-4,4), (z,-4,4), color='orchid')
knife = implicit_plot3d(eq_knife == 0, (x,-4,4), (y,-4,4), (z,-4,4), color='black')

但由solve给出的交集是方程本身:

intersection = solve([eq_object, eq_knife], [x, y, z])
intersection

>> [3*x + 2*y + z, -cos(x) - cos(y) - cos(z)]

我做错了什么?

1 个答案:

答案 0 :(得分:0)

你可能想要这个:

solve(eq_object==eq_knife, [x, y, z])

给出[]空解决方案集,可能是因为这太难了。一旦你把cos打到那里,这些就不是代数系统。

即使非常简单

solve([cos(x),x],[x])

给出了这种响应,尽管在这种情况下cos(x)=0x=0不可能在一起。但是我们“真正”想要的是什么,

solve([cos(x)==x],[x])

只是给了原版,因为没有“好”的方式来写这个。它发生了。

编辑:也许你想要一个隐含的情节呢?

var('y')
implicit_plot(-(cos(x) + cos(y) + cos(-3*x-2*y)),(x,-5,5),(y,-5,5),figsize=4)

enter image description here

我想我做对了。

相关问题