找回密码
 点一下
查看: 2217|回复: 8

球体函数的Jass表达方法(已解决)

[复制链接]
发表于 2008-4-16 22:28:29 | 显示全部楼层 |阅读模式
求一下球体函数的Jass表达方法,通过百度查看了一下球体函数,像看天书一样,偶没有学过微积分,只好向大家求救了。
下面是球体函数的连接:
http://218.6.168.52/wlxt/ncourse ... wlkc/wlkc-19-05.htm
发表于 2008-4-16 22:56:50 | 显示全部楼层
球体………………
是(x-a)*(x-a)+(y-b)*(y-b)+(z-c)*(z-c)=r*r吗??

这个是球面额………………
回复

使用道具 举报

 楼主| 发表于 2008-4-16 23:11:32 | 显示全部楼层
呃,球面……
回复

使用道具 举报

 楼主| 发表于 2008-4-16 23:15:01 | 显示全部楼层
球面是指一種三維閉曲面,其上每一點到給定點(球心)的距離都是相等的,它的方程是
(x-a)2+(y-b)2+(z-c)2=r2
谢谢2楼。
回复

使用道具 举报

发表于 2008-4-17 07:26:24 | 显示全部楼层
其实球面方程相当容易理解~~

就是球面上每点距离球心的距离是相等的~~(其实就是圆方程的空间扩充而已)~~恒等于半径r~~

那么2点距离是怎么计算的呢~~自然是它们的(x坐标之差的平方+y坐标之差的平方+z坐标之差的平方)整个开根号~~这就是两坐标点间距离的计算方法~~整个始终等于半径r~~于是为了等式美观~~两边加平方~~球面方程就出现了~~这其实不需要用到微积分知识~~
回复

使用道具 举报

发表于 2008-4-17 18:30:07 | 显示全部楼层
下面的代码,理论上可以循环过一个中心在0,0,0,半径为r的球的(x>0,y>0,z>)的那一块区域.
如果再改变一下正负号,就通过了整个球面.
[codes=jass]
real x
real y
real z

real r=100
real a=0
real b=0
real step=0.01

loop
         exitwhen a==1.57
         set b0
         loop exitwhen b==1.57
                set   x=r*cos(a)*cos(b)
                set   y=r*cos(a)*sin(b)
                set   z=r*sin(a)

                set b=b+step
          endloop
          set a=a+step
endloop
[/codes]
回复

使用道具 举报

发表于 2008-4-17 18:31:27 | 显示全部楼层
回复

使用道具 举报

发表于 2008-4-17 18:36:42 | 显示全部楼层
5555
这个不是球面的柱坐标公式嘛………………
我觉得那个判断pi/2的地方用>=比较好~~
回复

使用道具 举报

 楼主| 发表于 2008-4-17 18:45:12 | 显示全部楼层
引用第5楼朱朱于2008-04-17 18:30发表的  :
下面的代码,理论上可以循环过一个中心在0,0,0,半径为r的球的(x>0,y>0,z>)的那一块区域.
如果再改变一下正负号,就通过了整个球面.
[codes=jass]
real x
real y
.......
谢谢了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 03:44 , Processed in 0.363992 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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