yifeng 发表于 2007-6-12 17:17

请教过三点作球面的问题,在线等

毕业设计遇到难题,两根避雷针保护范围中间的过渡球面不会生成,
有没有高手给指点指点,等着答辩了,急切等待!

我已经实现成下图这种


代码:
function b=blz2(h);
h1=50;
h2=50;
hr=60;
hx=0:1:h1;
rx1=sqrt(h1.*(2*hr-h1))-sqrt(hx.*(2*hr-hx));
=cylinder(rx1);
ll=find(X1>0&Y1>0);
Z1(ll)=NaN;
hold on
mesh(X1,Y1,Z1)
hx=0:1:h2;
rx2=sqrt(h2.*(2*hr-h2))-sqrt(hx.*(2*hr-hx));
=cylinder(rx2);
ii=find(X2<0&Y2<0);
Z2(ii)=NaN;
mesh(X2+42,Y2+58,Z2)

初步想法是过两个顶点和地面相交点作半径为60的球面 ,多余部分再想办法去掉
QQ:182314028

yifeng 发表于 2007-6-12 17:25

请问各位高手,有没有办法实现
这一步能实现,不等高的才能往下做了 ,:loveliness: 请多帮忙,感激不尽

咕噜噜 发表于 2007-6-12 17:38

这个还得看你的中间部分的具体方程吧?没有具体图象的方程不知道怎么来

花如月 发表于 2007-6-12 17:40

呵呵,帮你顶一下。顺便试了你的代码,出的是平面图:@o 。而不是你帖出来的那张

yifeng 发表于 2007-6-12 17:56

计算方法如下:

两根避雷针距离不太远时,由于两针的联合屏蔽作用,是两针中间的保护半径比单针时要大。两针外侧的保护范围按单针的计算方法确定,两针间的保护范围应按通过两针顶点及保护范围上部边缘最近点 OO的圆弧来确定,O点的高度H0按下式计算:


感谢#4花如月 回帖,出来平面图后点ROTATA 3D按钮就可以旋转了 :)

[ 本帖最后由 yifeng 于 2007-6-12 19:08 编辑 ]

yifeng 发表于 2007-6-12 18:28



下载回来后把扩展名改为 pdf,里面有说明生成图形的步骤,各位大虾请参考

这个题目的资料我都看了N遍,
问老师怎么都不说
自己查资料又搞不定该如何编制程序,

再不解决就要延迟到12月答辩,那就惨了
请各位鼎力相助啊

[ 本帖最后由 yifeng 于 2007-6-12 18:34 编辑 ]

yifeng 发表于 2007-6-12 18:36

中间部分是用
过三点(两顶点和地面相交点)且半径为60的球面 与 原图相交生成的图(只要部分球面)

[ 本帖最后由 yifeng 于 2007-6-12 18:38 编辑 ]

花如月 发表于 2007-6-12 18:49

回复 #5 yifeng 的帖子

:lol 谢了,第一次发现该功能

yifeng 发表于 2007-6-12 19:16

不谢哈,:loveliness:
我的问题大家应该看到了吧?期待中~~~

已知空间中的3个点坐标和 球半径 难道不能确定唯一球面么?

[ 本帖最后由 yifeng 于 2007-6-12 21:45 编辑 ]

花如月 发表于 2007-6-12 20:16

回复 #9 yifeng 的帖子

不是没人会,是高手都很忙:@D
慢慢等不急,论坛的高人多得很、、、、

spano 发表于 2007-6-12 21:24

回复 #9 yifeng 的帖子

已知3个和球半径肯定是可以确定2个球,你需要从中选取一个

[ 本帖最后由 spano 于 2007-6-12 21:27 编辑 ]

yifeng 发表于 2007-6-12 21:43

回复 #11 spano 的帖子

:lol 是我疏忽了,已知条件可以确定两个球面,

我需要的是和两个类圆锥体外表面相切的球,产生的那部分球面(向内凹进的),

在程序上该如何实现呢,:loveliness:,有没有什么比较巧妙的方法

[ 本帖最后由 yifeng 于 2007-6-12 21:57 编辑 ]

spano 发表于 2007-6-12 21:58

你不是已经知道了3个点和半径了?
然后解方程得到2个球心位置,再比较球到两个似圆锥体的底面中心的位置就可以筛选出你要的球心位置,画出来就好了啊

yifeng 发表于 2007-6-12 22:08

回复 #13 spano 的帖子

感谢spano老大关注
   matlab没有自动的方法画么,例子中两个似圆锥体的位置是固定的,等高。计算还比较方便,如果位置不定,两个的高度也不一样,算球心不就困难了么

另外我只要相交部分的球面,这该怎么处理呢:handshake

补充说明:
题目的要求通俗点说,就是用一定半径的球体(半径大于避雷针高度)绕指定高度(不考虑半径)的两根避雷针滚一圈产生的一个曲面

[ 本帖最后由 yifeng 于 2007-6-12 22:15 编辑 ]

yifeng 发表于 2007-6-12 22:29

另外,我的图里面Z轴始终都只能是0:1,怎么换成0:100呢?
页: [1] 2
查看完整版本: 请教过三点作球面的问题,在线等