声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3292|回复: 26

[绘图技巧] 请教过三点作球面的问题,在线等

[复制链接]
发表于 2007-6-12 17:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
毕业设计遇到难题,两根避雷针保护范围中间的过渡球面不会生成,
有没有高手给指点指点,等着答辩了,急切等待!
milei2 tu.JPG
我已经实现成下图这种

milei2 tu2.JPG
代码:
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));
  [X1,Y1,Z1]=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));
  [X2,Y2,Z2]=cylinder(rx2);
  ii=find(X2<0&Y2<0);
Z2(ii)=NaN;
mesh(X2+42,Y2+58,Z2)

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

使用道具 举报

 楼主| 发表于 2007-6-12 17:25 | 显示全部楼层
请问各位高手,有没有办法实现
这一步能实现,不等高的才能往下做了 ,:loveliness: 请多帮忙,感激不尽
发表于 2007-6-12 17:38 | 显示全部楼层
这个还得看你的中间部分的具体方程吧?没有具体图象的方程不知道怎么来
发表于 2007-6-12 17:40 | 显示全部楼层
呵呵,帮你顶一下。顺便试了你的代码,出的是平面图:@o 。而不是你帖出来的那张
 楼主| 发表于 2007-6-12 17:56 | 显示全部楼层
计算方法如下:

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

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

[ 本帖最后由 yifeng 于 2007-6-12 19:08 编辑 ]
 楼主| 发表于 2007-6-12 18:28 | 显示全部楼层
避雷针保护范围的图形仿真与图解法分析.pdf.txt (177.94 KB, 下载次数: 16)

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

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

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

[ 本帖最后由 yifeng 于 2007-6-12 18:34 编辑 ]
 楼主| 发表于 2007-6-12 18:36 | 显示全部楼层
中间部分是用
过三点(两顶点和地面相交点)且半径为60的球面 与 原图相交生成的图(只要部分球面)

[ 本帖最后由 yifeng 于 2007-6-12 18:38 编辑 ]
发表于 2007-6-12 18:49 | 显示全部楼层

回复 #5 yifeng 的帖子

:lol 谢了,第一次发现该功能
 楼主| 发表于 2007-6-12 19:16 | 显示全部楼层
不谢哈,:loveliness:
我的问题大家应该看到了吧?期待中~~~

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

[ 本帖最后由 yifeng 于 2007-6-12 21:45 编辑 ]
发表于 2007-6-12 20:16 | 显示全部楼层

回复 #9 yifeng 的帖子

不是没人会,是高手都很忙:@D
慢慢等不急,论坛的高人多得很、、、、
发表于 2007-6-12 21:24 | 显示全部楼层

回复 #9 yifeng 的帖子

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

[ 本帖最后由 spano 于 2007-6-12 21:27 编辑 ]
 楼主| 发表于 2007-6-12 21:43 | 显示全部楼层

回复 #11 spano 的帖子

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

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

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

[ 本帖最后由 yifeng 于 2007-6-12 21:57 编辑 ]
发表于 2007-6-12 21:58 | 显示全部楼层
你不是已经知道了3个点和半径了?
然后解方程得到2个球心位置,再比较球到两个似圆锥体的底面中心的位置就可以筛选出你要的球心位置,画出来就好了啊
 楼主| 发表于 2007-6-12 22:08 | 显示全部楼层

回复 #13 spano 的帖子

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

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

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

[ 本帖最后由 yifeng 于 2007-6-12 22:15 编辑 ]
 楼主| 发表于 2007-6-12 22:29 | 显示全部楼层
另外,我的图里面Z轴始终都只能是0:1,怎么换成0:100呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-22 17:17 , Processed in 0.120388 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表