graphics - 将 3d 球体投影到屏幕上的 2d 圆中

标签 graphics 3d particles rasterizing

有哪些光栅化算法可以将 3d 球体投影到像素网格中?我想避免光线转换。本质上,给定一个 3d 坐标和一个半径,有没有一种快速的方法可以在像素网格上创建一个 2d 圆/椭圆?

例如:半径为 4 的 (2,2,2) 处的圆被投影到五个像素:
p1(2,0)p2(0,1) p3(1,1) p4(2,1)p5(1,2)

我遇到过诸如粒子系统的像素飞溅之类的技术,但我还没有找到关于如何做到这一点的明确答案。

谢谢

最佳答案

你有什么投影?

我很确定投影不是最有趣的圆圈。嗯。我想我会这样做的方法是在 3d 中找到其轴*与相机点对齐的圆周。从圆圈中选择任何需要的点,然后将它们转换为屏幕空间。最简单的是,这会给你一个多边形,但插值样条曲线可能也应该给你很好的结果。

*:旋转对称轴

关于graphics - 将 3d 球体投影到屏幕上的 2d 圆中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/393307/

相关文章:

python - 加速Python中的计算(模拟磁场中的粒子)

graphics - 您可以将 GIF 和/或动画 GIF 添加到单个动画 GIF 中吗?

java - 我的巴恩斯利蕨类植物太瘦了

c++ - 在 3D 三角形中查找左/右顶点到一个点

ios - 绘制 3D 平面

vb.net - Visual Basic .Net 3D 引擎

iphone - 使用 CAEmitterLayer 围绕圆或 CGPath 绘制粒子

java - 图像和图形Java

3d - gnuplot:如何在 3D 图中使 xy、xz 和 yz 平面不透明/实体?

javascript - 是否可以使我的粒子可点击?