动态光源演示系统

重温了孔令德老师的《计算机图形学实验及课程设计(Visual C++版)(第2版)》这本教材,闲来无事便把“基本图元光栅扫描演示系统”、“递归动态球体演示系统”、“圆环动态纹理演示系统”、“动态光源演示系统”、“3DS家口演示系统”等五个课程设计项目进行了复现。废话不多说,上代码。源代码获取方式:1、手机打开“闲鱼”APP;2、选择搜索用户,输入关键字“家居小v”(搜索时没有双引号哈);3、选择你所需要的宝贝即可。

1、球体绘制函数


void CSphere::SetSize(int r)
{
   this->r=r;
   R=1000,d=800,Phi=90.0,Theta=0.0;
   ReadPoint();
   ReadFace();
   InitParameter();
}

void CSphere::ReadPoint()//读入点坐标
{
	int gafa=10,gbeta=10;//面片夹角
	N1=180/gafa,N2=360/gbeta;//N1为纬度区间,N2为经度区间
	if (P==NULL)
	{
		P=new CP3[(N1-1)*N2+2];//纬度方向除南北极点外有“N1-1”个点,“2”代表南北极两点
	}
	double afa1,beta1;
	P[0].x=0;
	P[0].y=r;
	P[0].z=0;
	//按行循环计算球体上的点坐标
	for(int i=0;i<N1-1;i++)
	{
		afa1=(i+1)*gafa*PI/180;
		for(int j=0;j<N2;j++)
		{
			beta1=j*gbeta*P
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值