在那里,我正在用opengl绘制一个轮廓(in x,zplan),然后我想知道一个点是在轮廓内部还是外部。所以我得到该轮廓的xmin, xmax, yminetymax值(现在只是一个圆圈)然后我添加-delta到每个最小值和+delta每个最大值。
然后我这样做:
for(GLfloat x=getXmin()-getDelta();x<=getXmax()+getDelta();x+=getDelta())
for(GLfloat y=getYmin()-getDelta();y<=getYmax()+getDelta();y+=getDelta()){
...
}
我想得到这个:

但我得到了这个:

我不想靠近轮廓,因为我担心有一天轮廓会如此接近,而不是在我做一些微积分时会出错。由于问题来自浮动值。为了解决这个问题,我可以做到
for(GLfloat x=getXmin()-getDelta();x<=getXmax()+2.*getDelta();x+=getDelta())
for(GLfloat y=getYmin()-getDelta();y<=getYmax()+2.*getDelta();y+=getDelta()){
...
}
(这就是我得到第一张照片的方式)
所以,我想知道这是否是让最大值更大的好方法......老实说,当我编写这段代码时,我认为添加+delta将确保不会靠近轮廓
信息:
getXmax()返回值1.2,
getDelta()返回值0.1
getXmin()返回值-0.699135