首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制具有给定原点的球体(Voxel引擎)

绘制具有给定原点的球体(Voxel引擎)
EN

Stack Overflow用户
提问于 2014-02-03 21:12:53
回答 1查看 279关注 0票数 0

我一直在拼命地尝试在我的体素引擎中创建一个球体工具。我知道创建球体的一般功能:

代码语言:javascript
复制
public bool getPoint (int x, int y, int z) {
    return (x*x+y*y+z*z < r*r) ? true : false;
}

假设原点为(0,0,0),此函数将创建一个球体。然而,我希望能够创建一个具有自定义原点(或用户定义的)的球体,比如原点是(10,10,10)。如何修改此函数以将原点移动到不同的位置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 01:46:42

ox, oy, oz成为你球体的中心。然后,在进行计算之前,只需从x, y, z中减去中心:

代码语言:javascript
复制
public bool getPoint (int x, int y, int z, int ox, int oy, int oz)
{
    x -= ox;
    y -= oy;
    z -= oz;
    return (x*x+y*y+z*z < r*r);
}

请注意,无论expr ? true : false是什么,表达式expr都等同于expr

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21537878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档