如何像老板一样处理精确度?

时间:2013-10-26 02:13:11

标签: opengl floating-accuracy

有, 我正在用opengl绘制轮廓(在xz计划中),然后我想知道一个点是在轮廓的内部还是外部。所以我得到了该轮廓的xminxmaxymin et ymax值(现在只是一个圆圈)然后我将-delta添加到每个分钟值,每个最大值+delta

然后我这样做:

for(GLfloat x=getXmin()-getDelta();x<=getXmax()+getDelta();x+=getDelta())
for(GLfloat y=getYmin()-getDelta();y<=getYmax()+getDelta();y+=getDelta()){
...
}

我想得到这个:

enter image description here

但我得到了这个:

enter image description here

我不想接近轮廓,因为我害怕有一天轮廓如此接近,而且当我做一些微积分时我会得到错误。由于问题来自浮动值。为了解决这个问题,我可以做到

for(GLfloat x=getXmin()-getDelta();x<=getXmax()+2.*getDelta();x+=getDelta())
for(GLfloat y=getYmin()-getDelta();y<=getYmax()+2.*getDelta();y+=getDelta()){
...
}

(dat是我如何得到第一张照片)

所以,我想知道这是否是让最大值变得更大的好方法...为了感到高兴,当我写这段代码时,我认为添加+delta将确保不要接近轮廓

获取信息:

getXmax()返回值1.2

getDelta()返回值0.1

getXmin()返回值-0.699135

0 个答案:

没有答案