楼主: G_will
1839 4

求助,关于画图。 [推广有奖]

  • 0关注
  • 0粉丝

博士生

44%

还不是VIP/贵宾

-

威望
0
论坛币
214 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1992 点
帖子
135
精华
0
在线时间
379 小时
注册时间
2008-4-4
最后登录
2014-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
================================

是这样,我想画一个图,方程是:
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)


最后问题是,两图合不到一起,这个很好理解,因为边缘的一些值肯定取不到。


大家看看如何解决?

另外:如果是要画极其复杂的三元方程怎么办?总不能就像我那样硬分成两个吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:function Rainbow Integer Order rain 求助 画图

回帖推荐

pandahc 发表于5楼  查看完整内容

try this: lat

本帖被以下文库推荐

沙发
gssdzc 在职认证  发表于 2010-6-3 23:20:10 |只看作者 |坛友微信交流群
顶起来。。。。。。。。。。。

使用道具

藤椅
G_will 发表于 2010-6-4 09:47:58 |只看作者 |坛友微信交流群
有人知道么?

使用道具

板凳
aresblq 发表于 2010-6-5 15:59:59 |只看作者 |坛友微信交流群
你画的不是圆吧,而是球,画球体应该比较复杂,偶也很想知道

使用道具

报纸
pandahc 发表于 2010-6-7 03:43:30 |只看作者 |坛友微信交流群
try this:

lat <- matrix(seq(90,-90, len=50)*pi/180, 50, 50, byrow=TRUE)
long <- matrix(seq(-180, 180, len=50)*pi/180, 50, 50)

r <- 1
x <- -r*cos(lat)*cos(long)
y <- r*sin(lat)
z <- r*cos(lat)*sin(long)

open3d()
persp3d(x, y, z, col="white" )

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 08:48