Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
doc:pycram:reasoning [2021/03/05 10:59] – jdech | doc:pycram:reasoning [2021/03/12 09:09] – [Visible] jdech | ||
---|---|---|---|
Line 37: | Line 37: | ||
To determine if the object is visible it needs to be rendered two times. The first time only the object alone will be rendered and all visible pixels are counted. This sets the maximal number of pixel that are visible from this position. The second time | To determine if the object is visible it needs to be rendered two times. The first time only the object alone will be rendered and all visible pixels are counted. This sets the maximal number of pixel that are visible from this position. The second time | ||
all objects will be rendered and the visible pixels are counted again. This value is the actual number of pixels that are visible from the given position. | all objects will be rendered and the visible pixels are counted again. This value is the actual number of pixels that are visible from the given position. | ||
+ | |||
+ | To ensure the TF positions stay valid while the objects are moved for the rendering. This reasoning query will be executed in it's own BulletWorld, | ||
To determine if the object is visible, the method checks if the actual number divided by the maximum number of pixels is greater than 0.8. This corresponds to at least 80 % of the object being visible. Before dividing the number it will be checked if the | To determine if the object is visible, the method checks if the actual number divided by the maximum number of pixels is greater than 0.8. This corresponds to at least 80 % of the object being visible. Before dividing the number it will be checked if the |