================================
是这样,我想画一个图,方程是:
x^2+y^2+z^2=1
也就是个圆,
怎么画?用persp3d。
==============================
我是这样做的,
fn1 = function(x,y) {
(1-x^2-y^2)^(1/2)
}
fn2 = function(x,y) {
-(1-x^2-y^2)^(1/2)
}
a = 1
x = seq(-a, a, 0.01)
y = seq(-a, a, 0.01)
z1 = outer(x, y, fn1)
z2 = outer(x, y, fn2)
zorder = rank(z1)
persp3d(x, y, z1,col = rainbow(as.integer(max(zorder)))[zorder],add=TRUE)
persp3d(x, y, z2,col = rainbow(as.integer(max(zorder)))[zorder],add=TRUE)
最后问题是,两图合不到一起,这个很好理解,因为边缘的一些值肯定取不到。
大家看看如何解决?
另外:如果是要画极其复杂的三元方程怎么办?总不能就像我那样硬分成两个吧?