- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要一些简单的 C 语言“球”光栅化例程。
我根据中点-Bresenham 给自己做了一些东西我首先计算的算法(在维基百科中看到)x-y屏幕平面中的圆点
// XXX
// XXXXX
// XXXXXX
// XXXXXXX
// XXXXXXXX
// XXXXXXXX
// XXXXXXXXX
// XXXXXXXXX
// XXXXXXXXX
然后对于每条扫描线,我都使用“第二个”中点,这次在 x-z 平面并更新深度缓冲区 z 值。
虽然有一些问题,但它似乎可以工作。例如,
据我所知透视变换不会投球到圆圈但可能是椭圆形以便我的光栅化算法它作为圆圈不太正确。
对于小圆圈,一点球之间有一个跳跃,看起来喜欢
// #
然后当靠近时它会立即跳到类似的地方
// #
//#####
//#####
// #
或
// ##
//######
//######
// ##
我不确定这是否是中点算法的结果或者我做错了什么。
另一个问题是当我得到这个算法时,我想它的着色版本。例如,我需要知道光栅化的每个像素的法线球(用它来点光线)。有人可以为像素法线提供一些公式吗?
也许有一些更快的着色方法?
简而言之,我需要一些建议来改进我所拥有的东西,特别是我想要它的阴影版本(工作比完美更重要但对准确性的一些改进也是正确的)。
最佳答案
法 vector
(x,y,z)
(x-x0,y-y0,z-z0)
(x0,y0,z0)
是球心栅格化
所以光栅化看起来像这样:
for
根据 x,y
(中心+/-半径平方面积)x*x+y*y>r*r
z
通过球面方程
x*x+y*y+z*z=r*r
z=sqrt(r*r-x*x-y*y)
normal_vector
(x,y,z)
只保留正常pixel_color=ball_color*(ambient_light_intensity+directional_light_intensity*dot(normal_vector,light_direction_vector));
另请参阅此处:Drawing 3D sphere in C/C++ (voxel space surface only rendering)仅使用 XY 平面投影
尺寸跳跃
add +/- 1 or change <=/>= to </> or viceversa
)关于c - 带阴影的快速 'ball' 像素光栅化例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26949613/
我正在尝试使用 R 中的 raster 包从光栅对象中提取轮廓线。 rasterToContour 似乎工作良好并且绘制得很好,但在调查时发现轮廓线被分解成不规则的线段。来自 ?rasterToCon
我有两个光栅对象 > x1 class : RasterLayer dimensions : 36, 72, 2592 (nrow, ncol, ncell) resolution
我已经看到与CUPS库相关的两个文件: OpenPrinting/cups-filters/blob/master/filter/imagetoraster.c OpenPrinting/cups-f
有没有办法确保绘图周围的框与栅格范围完全匹配?在下面的内容中,根据设备的比例,在栅格的上方,下方或左侧和右侧都有一个间隙: require(raster) r = raster() r[]= 1 pl
我有下面的代码,可以将图像保存到我的电脑上。我想将该图像绕其中心(或左下角)旋转 45,90 和 135 度,然后另存为 3 个不同的图像。我怎样才能做到这一点? library(raster) r1
我有热敏打印机 X330,我需要打印和从 android 相机获取图像(位图),但我不能...我总是在打印机中得到符号。 文档中说: 打印光栅位图 十六进制 1D 76 30 m xL xH yL y
我是 python 的初学者,我仍在熟悉它的库,如果这是一个新手问题,我很抱歉。我只想显示 4 个波段(R、G、B、NIR)的图像。我想删除 NIR 并保留其他 3 个。我该怎么做?由于 raster
我知道这似乎是一个奇怪的问题,而且确实如此!但是利用 Windows 已经安装的固定宽度字体(例如:Fixedsys)我会节省很多大小(因为我想让最终的 EXE 尽可能小) 从 Windows 上现有
要求: 保留图形模式 API 仅适用于 2D 对象(尽管这些 2D 对象的 3D 变换很有趣) 跨平台 矢量图形绘制 光栅合成 + 支持不透明蒙版 - 当然是硬件加速... 动画 API 封装大小 -
我还在 SO 的 GIS 部分发布了这个问题。因为我不确定这是否是一个“纯”python 问题,所以我也在这里再次提问。 我想知道是否有人在不使用 ArcGIS 的情况下从栅格获取高程数据有一些经验,
我是一名优秀的程序员,十分优秀!