📄 form1.cs
字号:
z=zz[i];
double _x1,_y1,_z1;
_x1=x;
_y1=y;
_z1=z;
x=_x1*f[0,0]+_y1*f[1,0]+_z1*f[2,0]+f[3,0];
y=_x1*f[0,1]+_y1*f[1,1]+_z1*f[2,1]+f[3,1];
z=_x1*f[0,2]+_y1*f[1,2]+_z1*f[2,2]+f[3,2];
if(i==0)
{
g.DrawLine(pen1,250+(int)x,100-(int)y,250+(int)x,100-(int)y);
}
else
{
g.DrawLine(pen1,250+(int)xo,100-(int)yo,250+(int)x,100-(int)y);
xx[i]=x;xo=x;
yy[i]=y;yo=y;
zz[i]=z;zo=z;
}
}
}
}
private void menuItem9_Click(object sender, System.EventArgs e)
{
double pi=3.1415926;
int i;
double th;
double x,y,z;
double xo,yo,zo;
xo=0.0;yo=0.0;zo=0.0;
double[,] f=new double[4,4];
double[] xxx=new double[]{150.0,200.0,210.0,60.0,150.0};
double[] yyy=new double[]{-55.0,-20.0,50.0,40.0,-55.0};
double[] zzz=new double[]{0.0,0.0,0.0,0.0,0.0};
double[] xx2=new double[]{150.0,200.0,210.0,60.0,150.0};
double[] yy2=new double[]{-55.0,-20.0,50.0,40.0,-55.0};
double[] zz2=new double[]{0.0,0.0,0.0,0.0,0.0};
Graphics g=pictureBox1.CreateGraphics();
Pen pen1=new Pen(Color.Blue);
g.Clear(this.BackColor);
for(i=0;i<=4;i++)
{
for(th=0;th<=2*pi;th+=pi/72)
{
double co=Math.Cos(pi/72);
double si=Math.Sin(pi/72);
f[0,0]=co;
f[0,1]=0.0;
f[0,2]=-si;
f[0,3]=0.0;
f[1,0]=0.0;
f[1,1]=1.0;
f[1,2]=0.0;
f[1,3]=0.0;
f[2,0]=si;
f[2,1]=0.0;
f[2,2]=co;
f[2,3]=0.0;
f[3,0]=0.0;
f[3,1]=0.0;
f[3,2]=0.0;
f[3,3]=1.0;
x=xxx[i];
y=yyy[i];
z=zzz[i];
double _x,_y,_z;
_x=x;
_y=y;
_z=z;
x=_x*f[0,0]+_y*f[1,0]+_z*f[2,0]+f[3,0];
y=_x*f[0,1]+_y*f[1,1]+_z*f[2,1]+f[3,1];
z=_x*f[0,2]+_y*f[1,2]+_z*f[2,2]+f[3,2];
xxx[i]=x;
yyy[i]=y;
zzz[i]=z;
double co1=Math.Cos(pi/20);
double si1=Math.Sin(pi/20);
f[0,0]=co1;
f[0,1]=0.0;
f[0,2]=-si1;
f[0,3]=0.0;
f[1,0]=0.0;
f[1,1]=1.0;
f[1,2]=0.0;
f[1,3]=0.0;
f[2,0]=si1;
f[2,1]=0.0;
f[2,2]=co1;
f[2,3]=0.0;
f[3,0]=0.0;
f[3,1]=0.0;
f[3,2]=0.0;
f[3,3]=1.0;
double _x1,_y1,_z1;
_x1=x;
_y1=y;
_z1=z;
x=_x1*f[0,0]+_y1*f[1,0]+_z1*f[2,0]+f[3,0];
y=_x1*f[0,1]+_y1*f[1,1]+_z1*f[2,1]+f[3,1];
z=_x1*f[0,2]+_y1*f[1,2]+_z1*f[2,2]+f[3,2];
if(i==0)
{
g.DrawLine(pen1,250+(int)x,100-(int)y,250+(int)x,100-(int)y);
}
else
{
g.DrawLine(pen1,250+(int)xo,100-(int)yo,250+(int)x,100-(int)y);
xo=x;
yo=y;
zo=z;
}
}
}
for(th=0;th<=2*pi;th+=pi/72)
{
for(i=0;i<=4;i++)
{
double co2=Math.Cos(pi/72);
double si2=Math.Sin(pi/72);
f[0,0]=co2;
f[0,1]=0.0;
f[0,2]=-si2;
f[0,3]=0.0;
f[1,0]=0.0;
f[1,1]=1.0;
f[1,2]=0.0;
f[1,3]=0.0;
f[2,0]=si2;
f[2,1]=0.0;
f[2,2]=co2;
f[2,3]=0.0;
f[3,0]=0.0;
f[3,1]=0.0;
f[3,2]=0.0;
f[3,3]=1.0;
x=xx2[i];
y=yy2[i];
z=zz2[i];
double _x2,_y2,_z2;
_x2=x;
_y2=y;
_z2=z;
x=_x2*f[0,0]+_y2*f[1,0]+_z2*f[2,0]+f[3,0];
y=_x2*f[0,1]+_y2*f[1,1]+_z2*f[2,1]+f[3,1];
z=_x2*f[0,2]+_y2*f[1,2]+_z2*f[2,2]+f[3,2];
xx2[i]=x;
yy2[i]=y;
zz2[i]=z;
double co3=Math.Cos(pi/72);
double si3=Math.Sin(pi/72);
f[0,0]=co3;
f[0,1]=0.0;
f[0,2]=-si3;
f[0,3]=0.0;
f[1,0]=0.0;
f[1,1]=1.0;
f[1,2]=0.0;
f[1,3]=0.0;
f[2,0]=si3;
f[2,1]=0.0;
f[2,2]=co3;
f[2,3]=0.0;
f[3,0]=0.0;
f[3,1]=0.0;
f[3,2]=0.0;
f[3,3]=1.0;
double _x3,_y3,_z3;
_x3=x;
_y3=y;
_z3=z;
x=_x3*f[0,0]+_y3*f[1,0]+_z3*f[2,0]+f[3,0];
y=_x3*f[0,1]+_y3*f[1,1]+_z3*f[2,1]+f[3,1];
z=_x3*f[0,2]+_y3*f[1,2]+_z3*f[2,2]+f[3,2];
if(i==0)
{
g.DrawLine(pen1,250+(int)x,100-(int)y,250+(int)x,100-(int)y);
}
else
{
g.DrawLine(pen1,250+(int)xo,100-(int)yo,250+(int)x,100-(int)y);
xo=x;
yo=y;
zo=z;
}
}
}
}
private void menuItem10_Click(object sender, System.EventArgs e)
{
Graphics g=pictureBox1.CreateGraphics();
Pen pen1=new Pen(Color.Blue);
g.Clear(this.BackColor);
int flag,r,h,n,nn,gx,gy;
double pi,x,y,z,cx,cy,thx,thy,th;
double xw,yw,zw;
double[] ax=new double[9];
double[] ay=new double[9];
double[] az=new double[9];
double[] bx=new double[9];
double[] by=new double[9];
double[] bz=new double[9];
pi=3.14159;
cx=200;
cy=140;
h=80;
thy=0.2;
nn=1;
r=100;
n=4;
thx=0.2;
flag=0;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
x=x+20;y=y+20;z=z+20;
ax[nn]=x;
ay[nn]=y;
az[nn]=z;
nn=nn+1;
}
flag=0;
nn=1;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=-h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
x=x+20;y=y+20;z=z+20;
bx[nn]=x;
by[nn]=y;
bz[nn]=z;
nn=nn+1;
}
for(nn=1;nn<=n;nn++)
{
flag=0;
x=ax[nn];
y=ay[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=ax[nn+1];
y=ay[nn+1];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=bx[nn+1];
y=by[nn+1];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=bx[nn];
y=by[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
}
}
private void menuItem11_Click(object sender, System.EventArgs e)
{
Graphics g=pictureBox1.CreateGraphics();
Pen pen1=new Pen(Color.Blue);
g.Clear(this.BackColor);
int flag,r,h,n,nn,gx,gy;
double pi,x,y,z,cx,cy,thx,thy,th;
double xw,yw,zw;
double[] ax=new double[9];
double[] ay=new double[9];
double[] az=new double[9];
double[] bx=new double[9];
double[] by=new double[9];
double[] bz=new double[9];
pi=3.14159;
cx=200;
cy=140;
h=80;
thy=0.2;
nn=1;
r=100;
n=4;
thx=0.2;
flag=0;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
ax[nn]=x;
ay[nn]=y;
nn=nn+1;
}
flag=0;
nn=1;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=-h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
bx[nn]=x;
by[nn]=y;
nn=nn+1;
}
for(nn=1;nn<=n;nn++)
{
flag=0;
x=ax[nn];
y=ay[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=ax[nn+1];
y=ay[nn+1];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=bx[nn+1];
y=by[nn+1];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=bx[nn];
y=by[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
}
}
private void menuItem12_Click(object sender, System.EventArgs e)
{
Graphics g=pictureBox1.CreateGraphics();
Pen pen1=new Pen(Color.Blue);
g.Clear(this.BackColor);
int flag,r,h,n,nn,gx,gy;
double pi,x,y,z,cx,cy,thx,thy,th;
double xw,yw,zw;
double[] ax=new double[9];
double[] ay=new double[9];
double[] az=new double[9];
double[] bx=new double[9];
double[] by=new double[9];
double[] bz=new double[9];
pi=3.14159;
cx=200;
cy=140;
h=80;
thy=0.2;
nn=1;
r=100;
n=4;
thx=0.2;
flag=0;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
x=(int)(x/2);
y=(int)(y/2);
z=(int)(z/2);
ax[nn]=x;
ay[nn]=y;
az[nn]=z;
nn=nn+1;
}
flag=0;
nn=1;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=-h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
x=(int)(x/2);
y=(int)(y/2);
z=(int)(z/2);
bx[nn]=x;
by[nn]=y;
bz[nn]=z;
nn=nn+1;
}
for(nn=1;nn<=n;nn++)
{
flag=0;
x=ax[nn];
y=ay[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=ax[nn+1];
y=ay[nn+1];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=bx[nn+1];
y=by[nn+1];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
x=bx[nn];
y=by[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
}
}
private void menuItem13_Click(object sender, System.EventArgs e)
{
Graphics g=pictureBox1.CreateGraphics();
Pen pen1=new Pen(Color.Blue);
g.Clear(this.BackColor);
int flag,r,h,n,nn,gx,gy;
double pi,x,y,z,cx,cy,thx,thy,thz,th;
double xw,yw,zw;
double[] ax=new double[9];
double[] ay=new double[9];
double[] az=new double[9];
double[] bx=new double[9];
double[] by=new double[9];
double[] bz=new double[9];
pi=3.14159;
cx=200;
cy=140;
h=80;
thy=0.2;
nn=1;
r=100;
n=4;
thx=0.2;thz=0.4;
flag=0;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
xw=x;yw=y;
y=xw*Math.Cos(thz)-yw*Math.Sin(thz);
x=xw*Math.Sin(thz)+yw*Math.Cos(thz);
ax[nn]=x;
ay[nn]=y;
az[nn]=z;
nn=nn+1;
}
flag=0;
nn=1;
for(th=0;th<=2*pi+0.1;th+=2*pi/n)
{
x=r*Math.Cos(th);
y=-h;
z=r*Math.Sin(th);
zw=z;
xw=x;
x=zw*Math.Cos(thy)-xw*Math.Sin(thy);
z=zw*Math.Sin(thy)+xw*Math.Cos(thy);
yw=y;
zw=z;
y=yw*Math.Cos(thx)-zw*Math.Sin(thx);
z=yw*Math.Sin(thx)+zw*Math.Cos(thx);
xw=x;yw=y;
y=xw*Math.Cos(thz)-yw*Math.Sin(thz);
x=xw*Math.Sin(thz)+yw*Math.Cos(thz);
bx[nn]=x;
by[nn]=y;
bz[nn]=z;
nn=nn+1;
}
for(nn=1;nn<=n;nn++)
{
flag=0;
x=ax[nn];
y=ay[nn];
gx=(int)(cx+x);
gy=(int)(cy+y);
if(flag!=1)
{
p1.X=gx;
p1.Y=gy;
flag=1;
}
else
{
p2.X=gx;
p2.Y=gy;
g.DrawLine(pen1,p1,p2);
p1=p2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -