如何绘制3D图形? 我想要绘制贝塞尔曲面和B样式曲面

0

我正在学习使用Easyx, 我想要绘制贝塞尔曲面和B样式曲面,但是我不会绘制3D图形,请问怎么实现?
请使用 EasyX 实现

ava
墨染

2023-5-28

悬赏金额:¥20元

1. 回答问题后,可以看到提问者联系方式。

2. 如果对问题有不明确的地方,可以在回复中写下你的疑问,就可以看到提问者的联系方式,然后详细沟通。

3. 如果私下沟通解决了问题,建议回答者将解决方案补充到本站,提问者勾选正确答案。每个人回答的问题数量,是能力的象征。

4. 回答问题后,可以通过提问者的联系方式私下协商领取悬赏的方式,本站不做任何干涉,不做担保,不抽取佣金,请双方谨慎操作。

0

贝塞尔曲面和B样式曲面我没听说过,但是绘制3D图形的步骤是建模和渲染。

建模就是得到三维物体的顶点的信息,比如材质,颜色,位置,然后最好有办法根据这些三维点生成三维三角网格,这一步的算法我目前还没有找到,为了学习可以做一些简单的三角网生成比如球面的三角网生成,得到了三维三角网格后需要投影,投影有透视投影和平行投影两种方式,平行投影比较简单,将顶点到摄像机原点的向量与相机投影面的X轴,Y轴单位向量做点乘,就能得到平行投影的坐标值,透视投影需要先进行视锥体裁剪,然后确定在摄像机中的三角平面接着将平行投影的值除以三维点到摄像机投影面的距离然后乘以类似焦距的东西。完成到这一步就完成了建模。

接着是渲染,渲染有光线追踪和光栅化两种方法,按分类有实时渲染和离线渲染两种,游戏领域一般都是用实时渲染,电影制片就是离线渲染。我有一点光栅化渲染的经验光栅化渲染,其具体的做法是线性插值,这是个平行投影的例子,得到三维三角形的顶点信息,找到它包围住的所有二维点,对每一个二维点求它与其中一个顶点所形成的向量由夹住这个向量的两条边的的向量表示的式子,然后差值乘以比例再加上初始值得到这一个点的当前值。目前还在学习,我能给出的回答仅此而已,希望对你有所帮助

ava
无语

2023-6-19

技术讨论社区