[英]Simple 3D Graphics in C#
我当前正在开发一个需要进行可视化的应用程序,而我要做的最复杂的事情就是显示类似点的对象。
对于我而言,任何超出此范围的操作都是完全过大的,因为除了绘制点状对象外,我什么也不会做。
话虽这么说,对我的需求最简单的解决方案是什么?
我建议您看看C#的Microsoft XNA
将它们渲染为真实点还是球形? (在此情况下,您可以使用球体的可见大小作为参考来查看更接近的“点”。)在前一种情况下,我建议您自己简单地乘以适当的变换矩阵,即可将这些点投影到您的观察平面上,而不是使用完善的3D引擎(因为您不渲染任何三角形或执行照明/着色)
有关将3D投影到2D平面的一些理论背景,请参阅此Wiki文章 。 如果您使用XNA,则它具有Matrix帮助器函数,即使您没有将其用于任何实际渲染,该函数也可以为您生成适当的转换矩阵。 对于积分,问题变得非常琐碎,因为无需考虑任何法线。 您只需将组成的View Projection矩阵乘以每个点,剪切位于视锥范围之外(即,在视平面后面,太远或在视口的2d范围之外)的所有点,然后将点渲染为X,Y。 该计算是否会反馈每个点相对于您的观察平面的“深度”,因此您可以使用它适当地缩放或着色这些点,否则很难快速理解这些点的3d位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.