我正在用SDL编写程序。我将屏幕设置为600x600。然后我在窗户上画一个圆圈。我用点随机拍摄整个屏幕,并最终计算圆中有多少个点,这可以用来估计圆的面积。但是我发现,如果我初始化窗口较大(如1024 * 768),那么同样的方法会降低面积计算的精确度(虽然很小,但仍然不会那么小)。我想知道增加窗口的分辨率并不能帮助提高这个问题的解决方案吗?那么我怎样才能利用更大的分辨率呢?关于SDL的分辨率和准确性
0
A
回答
0
然后我在窗户上画一个圆圈。我用点随机拍摄整个屏幕,并最终计算圆中有多少个点,这可以用来估计圆的面积。
圆面积等于pi*(r^2)
。其中“r”是圆半径。
但我发现,如果我初始化窗口做大
你的方法不会产生可靠的结果,除非随机数发生器是完美这意味着它必须产生点的绝对完美的均匀分布,这不会发生。你也需要知道一个“打”的区域,这将是一个大问题。
如果你坚持重新发明轮子(并避免使用pi*(r^2)
不明原因),然后,而不是“拍摄随机点”。只需逐行扫描图像,并计算圆内的点数。它也可能比尝试滥用伪随机数生成器快得多。你可以加速这个过程(通过失去精度),而不是检查每个像素,检查每个第2个像素(和行),每个第3个,每个第4个等等(完美的均匀分布)。它会比您的PRNG滥用更可靠和可预测。
相关问题
- 1. 关于图片大小和分辨率
- 2. SDL - 获取本机屏幕分辨率
- 3. OGRE:非标准分辨率
- 4. Wpf分辨率独立性和原生分辨率
- 5. 关于IPhone4的屏幕分辨率
- 6. Kinect v2:空间分辨率/深度分辨率/相机校准
- 7. 关于用户界面分辨率
- 8. 用于超分辨率的Tensorflow的可变分辨率
- 9. 关于处理器的分辨率和逃避Solr的问题
- 10. LibGDX分辨率无关
- 11. WPF分辨率无关
- 12. 分辨率和浏览器兼容性
- 13. OpenGL视口分辨率和性能
- 14. 关于iPhone SDK 3.O和SDK之间的分辨率4.0
- 15. 代码的效率和准确性
- 16. 当分辨率小于
- 17. 多分辨率/分辨率C++容器
- 18. 非标准屏幕分辨率
- 19. 用于为实况流传输创建高分辨率分辨率的同步和并发性
- 20. 分配基于设备的分辨率
- 21. 准确率和查
- 22. std :: chrono似乎没有给出准确的时钟分辨率/频率
- 23. Android手机中SDL窗口/纹理的分辨率问题
- 24. Linux中的SDL桌面分辨率检测
- 25. 同时支持高分辨率和低分辨率图像
- 26. 准确性很小概率
- 27. WPF和屏幕分辨率
- 28. 分辨率和密度
- 29. Eclipse Juno和Retina分辨率
- 30. Ghostscript和高分辨率?
也许是因为1024x768不是正方形,所以圆外有更多点? – Kos 2012-03-25 08:54:29
只是出于兴趣,你不能通过找到它的半径和评估'pi * r^2'来计算圆的面积吗?或者我错过了什么? – 2012-03-25 08:56:30
另外你如何生成你的随机数字?如果你想做数值,'rand()'不够随机。包括''并使用'std :: mt19937',检查是否有帮助 –
Kos
2012-03-25 08:57:17