shapefunc = function (pos,fIElds) map = {} pos.x = math.floor(pos.x+0.5) pos.y = math.floor(pos.y+0.5) pos.z = math.floor(pos.z+0.5) for x=-fIElds.radius,fIElds.radius do for y=-fIElds.radius,fIElds.radius do for z=-fIElds.radius,fIElds.radius do if x*x+y*y+z*z <= fIElds.radius*fIElds.radius then table.insert(map,{x=pos.x+x,y=pos.y+y,z=pos.z+z}) end end end end return mapend
给定高度(在y轴上),次要和主要半径(在xz轴上)和一个原点,我试过的评估表达式都没有给我任何接近圆环的东西.
解决方法 根据 this,这是测试表达符号的问题:(x ^ 2 y ^ 2 z ^ 2-(a ^ 2 b ^ 2))^ 2 – 4 * a * b *(b ^ 2-z ^ 2)
其中点是{x,y,z},圆环的小半径是b,主半径是a.
总结以上是内存溢出为你收集整理的3d – 给定原点和半径,如何找出p(x,y,z)是否在环面内?全部内容,希望文章能够帮你解决3d – 给定原点和半径,如何找出p(x,y,z)是否在环面内?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)