画正方体``````?
{
int flag,r,h;
double pi,x,y,z,cx,cy,thx,thy,th;
double xw,yw,zw;
pi=3.14159;
cx=320;//起始位置
cy=180;
int ed=2000,eh=100,od=400,hl=1;
h=80; thy=0.2;r=100;n=4;thx=0.2;
flag=0;nn=1;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*cos(th); y=h; z=r*sin(th);
//Call rot_y: Call rot_x
zw=z; xw=x;
x=zw*cos(thy)-xw*sin(thy);
z=zw*sin(thy)+xw*cos(thy);
yw=y; zw=z;
y=yw*cos(thx)-zw*sin(thx);
z=yw*sin(thx)+zw*cos(thx);
if(ps==1){
x=x*ed/(ed-od-z);
y=(y*ed-eh*(od+z))/(ed-od-z);
}
//ax[nn]=x; ay[nn]=y; az[nn]=z;
XP[nn]=x; YP[nn]=y; ZP[nn]=z;
nn=nn+1;
}
flag=0;nn=1;
for(th=0;th<=2*pi+0.1;th+=2*pi/n){
x=r*cos(th); y=-h; z=r*sin(th);
//Call rot_y: Call rot_x
zw=z; xw=x;
x=zw*cos(thy)-xw*sin(thy);
z=zw*sin(thy)+xw*cos(thy);
yw=y; zw=z;
y=yw*cos(thx)-zw*sin(thx);
z=yw*sin(thx)+zw*cos(thx);
if(ps==1){
x=x*ed/(ed-od-z);
y=(y*ed-eh*(od+z))/(ed-od-z);}
//bx[nn]=x; by[nn]=y; bz[nn]=z;
XP[nn+4]=x; YP[nn+4]=y; ZP[nn+4]=z;
nn=nn+1;
}
CP[1] = 1;CP[2] = 1;CP[3] = 1; CP[4] = 1;CP[5] = 1;CP[6] = 1;CP[7] = 1;CP[8] = 1;
}实在是看不懂for循环中的操作,
zw=z; xw=x;
x=zw*cos(thy)-xw*sin(thy);
z=zw*sin(thy)+xw*cos(thy);
yw=y; zw=z;
y=yw*cos(thx)-zw*sin(thx);
z=yw*sin(thx)+zw*cos(thx);
if(ps==1){
x=x*ed/(ed-od-z);
y=(y*ed-eh*(od+z))/(ed-od-z);
这几句到底什么意思?
...全文
相关推荐
vml绘线柱饼图``````
vml绘线柱饼图...................................................
C语言指针(Pointer)课件``````
C语言指针课件。C语言指针方面的课件。C语言指针课件。C语言指针方面的课件。
求a+aa+aaa.cpp
输入一个整数 a ,求Sn=a+aa+aaa+``````的和;例如输入一个 5 输出Sn(3)=5+55+555 = 615。
中学数学公式定律手册
`````` 中学数学公式定律手册.chm
取其他进程启动(命令行)参数的小软件
一个可以取其他进程启动(命令行)参数 有时候很有用的哦``````


图形处理/算法
