#COMMAND:ʽ棺ͼ

<һԪͼ(ʽ)
const:BUTTON=1,RADIOBUTTON=2,CHECKBOX=3,GROUPBOX=4,EDIT=5,STATIC=6;
"char"()=strex
{"dostr",
 "
 clearFcFunWin[];
 \"DrawBegin\"; //ʼַ

 glClear[]; //ĻԼȻ棻
 glLoadIdentity[]; //ͼ
 glTranslated[0,0,-30]; //ƶ꣬Ļƶ6Ԫ
 glColor3d[(*ɫ*)];//ɫ;
 \"F\"(x)=(*һԪ*); //һԪ壻
 plot{#\"F\",(*xСֵ*),(*xֵ*) //һԪͼ
	(*ԶԱڵͼ*),\"y\",(*yСֵ*),(*yֵ*)
	,\"axes\",(*XСֵ*),(*Xֵ*),(*YСֵ*),(*Yֵ*)
	,\"plotpoints\",10
	,\"nodraw\"
      };
 glColor3d[(*ͼɫ*)];//ɫ;
 plot{#\"F\",(*xСֵ*),(*xֵ*) //һԪͼ
	(*ԶԱڵͼ*),\"y\",(*yСֵ*),(*yֵ*)
	,\"axes\",(*XСֵ*),(*Xֵ*),(*YСֵ*),(*Yֵ*)
	,\"plotpoints\",(*xָĿ*)
	(*cut*)
	,\"noaxes\"
      };

 \"DrawEnd\"; //ַ

 //гƣ
 DrawScene{GetAddress[$\"DrawBegin\",#\"DrawBegin\"],
           GetAddress[$\"DrawEnd\",#\"DrawEnd\"]
	};
 "
};
FcFunWin{"һԪͼ",0,0,400,500,
	STATIC,"һԪ F(x)=",5,10,100,20,
	EDIT,"һԪ",-1,110,10,255,20,"x*sin[x]",

	GROUPBOX,"Աı仯Χ",3,40,360,50,
	STATIC,"xСֵ",10,65,100,20,
	EDIT,"xСֵ",-1,110,65,50,20,"-10",
	STATIC,"xֵ",200,65,100,20,
	EDIT,"xֵ",-1,300,65,50,20,"10",

	GROUPBOX,"yϵĻͼΧ",3,100,360,75,
	STATIC,"yСֵ",10,125,100,20,
	EDIT,"yСֵ",-1,110,125,50,20,"-2",
	STATIC,"yֵ",200,125,100,20,
	EDIT,"yֵ",-1,300,125,50,20,"2",
	CHECKBOX,"ԶԱڵͼ",10,150,260,20,"//","",1,

	GROUPBOX,"ĻϵĻͼ",3,180,360,80,
	STATIC,"XСֵ",10,205,100,20,
	EDIT,"XСֵ",-1,110,205,50,20,"-15",
	STATIC,"Xֵ",200,205,100,20,
	EDIT,"Xֵ",-1,300,205,50,20,"15",
	STATIC,"YСֵ",10,230,100,20,
	EDIT,"YСֵ",-1,110,230,50,20,"-10",
	STATIC,"Yֵ",200,230,100,20,
	EDIT,"Yֵ",-1,300,230,50,20,"10",

	STATIC,"xָĿ",10,270,110,20,
	EDIT,"xָĿ",-1,120,270,50,20,"500",

	GROUPBOX,"",5,290,360,60,
	RADIOBUTTON,"ͼͼڱ߽",10,305,260,20,"cut","",
	RADIOBUTTON,"гͼͼ",10,325,180,20,"cut",",\"cut\"",

	STATIC,"ɫ",10,360,80,20,
	EDIT,"ɫ",-1,90,360,80,20,"0,0.5,0.5",
	STATIC,"ͼɫ",200,360,80,20,
	EDIT,"ͼɫ",-1,280,360,80,20,"1,0,0",

	STATIC,"˵F1ȫ۲ͼ󡣿áPageUpPageDownHomeƶͼ",5,390,360,40,

	STATIC,"",5,435,100,20,
	BUTTON,"ͼ",300,435,50,20,@"dostr","",
	EDIT,"",1,5,460,360,135,""
	}
>
<Ԫͼ(ʽ)
const:BUTTON=1,RADIOBUTTON=2,CHECKBOX=3,GROUPBOX=4,EDIT=5,STATIC=6;
"char"()=strex
{"dostr",
 "
 clearFcFunWin[];
 AutoConst:Rot,EndAutoConst;		//Զ
 NewDoubleS[EndAutoConst];setd[Rot,0];	//ñ
 \"DrawBegin\";
 glClear[];
 glColor3d[0,1,0];			//ɫ;
 glAxesAngle[];				//ʾתǶȣ
 glLoadIdentity[];
 glTranslated[0,0,-20];
 glColor3d[0,1,0];			//ɫ;
 glRotated[GetdAdd(Rot,(*תٶȣ*)),(*Xת*),(*Yת*),(*Zת*)];//ʹͼת
 glRotated[glangle(1),1,0,0];		//ʹͼXת
 glRotated[glangle(2),0,1,0];		//ʹͼYת
 glRotated[glangle(3),0,0,1];		//ʹͼZת
 \"f\"(x,y)=(*Ԫ*);
 plot3d{#\"f\",(*xСֵ*),(*xֵ*),(*yСֵ*),(*yֵ*)
	(*ԶԱڵͼ*) ,\"z\",(*zСֵ*),(*zֵ*)
	,\"axes\",(*XСֵ*),(*Xֵ*),(*YСֵ*),(*Yֵ*),(*ZСֵ*),(*Zֵ*)
	,\"plotpoints\",(*xָĿ*),(*yָĿ*)
	(*cut*)
	(**)
	(**)
	};
 FindErrQuit[];				//д
 \"DrawEnd\";
 DrawScene{GetAddress[$\"DrawBegin\",#\"DrawBegin\"],
	GetAddress[$\"DrawEnd\",#\"DrawEnd\"]
	};
 "
};

FcFunWin{"Ԫͼ",0,0,400,500,
	STATIC,"ԪF(x,y)=",5,10,125,20,
	EDIT,"Ԫ",-1,135,10,230,20,"(x^2-2*x)*exp(-x^2-y^2-x*y)",

	GROUPBOX,"Աı仯Χ",3,40,360,75,
	STATIC,"xСֵ",10,65,100,20,
	EDIT,"xСֵ",-1,110,65,50,20,"-3",
	STATIC,"xֵ",200,65,100,20,
	EDIT,"xֵ",-1,300,65,50,20,"3",
	STATIC,"yСֵ",10,90,100,20,
	EDIT,"yСֵ",-1,110,90,50,20,"-3",
	STATIC,"yֵ",200,90,100,20,
	EDIT,"yֵ",-1,300,90,50,20,"3",

	GROUPBOX,"zϵĻͼΧ",3,120,360,75,
	STATIC,"zСֵ",10,145,100,20,
	EDIT,"zСֵ",-1,110,145,50,20,"-3",
	STATIC,"zֵ",200,145,100,20,
	EDIT,"zֵ",-1,300,145,50,20,"3",
	CHECKBOX,"ԶԱڵͼ",10,170,260,20,"//","",1,

	GROUPBOX,"ĻϵĻͼ",3,200,360,100,
	STATIC,"XСֵ",10,225,100,20,
	EDIT,"XСֵ",-1,110,225,50,20,"-5",
	STATIC,"Xֵ",200,225,100,20,
	EDIT,"Xֵ",-1,300,225,50,20,"5",
	STATIC,"YСֵ",10,250,100,20,
	EDIT,"YСֵ",-1,110,250,50,20,"-5",
	STATIC,"Yֵ",200,250,100,20,
	EDIT,"Yֵ",-1,300,250,50,20,"5",
	STATIC,"ZСֵ",10,275,100,20,
	EDIT,"ZСֵ",-1,110,275,50,20,"-5",
	STATIC,"Zֵ",200,275,100,20,
	EDIT,"Zֵ",-1,300,275,50,20,"5",

	STATIC,"xָĿ",10,315,110,20,
	EDIT,"xָĿ",-1,120,315,50,20,"30",
	STATIC,"yָĿ",200,315,110,20,
	EDIT,"yָĿ",-1,310,315,50,20,"30",

	GROUPBOX,"",5,340,360,60,
	RADIOBUTTON,"ͼͼڱ߽",10,355,260,20,"cut","",
	RADIOBUTTON,"гͼͼ",10,375,180,20,"cut",",\"cut\"",

	CHECKBOX,"",10,410,100,20,"",",\"noaxes\"",1,
	CHECKBOX,"",145,410,85,20,"",",\"nomesh\"",1,

	CHECKBOX,"Xת",10,430,100,20,"1","0",1,
	CHECKBOX,"Yת",145,430,100,20,"1","0",1,
	CHECKBOX,"Zת",270,430,100,20,"1","0",1,

	STATIC,"תٶȣٶΪ0ֹͣת",10,450,250,20,
	EDIT,"תٶȣ",-1,270,450,50,20,"1",

	STATIC,"˵F1ȫ۲ͼͼתУAltͣͼתֹͣת󣬻üƶתͼ볢ԡPageUpPageDownHomeԼShiftЩϣShift+",5,475,360,80,

	STATIC,"",5,565,100,20,
	BUTTON,"ͼ",300,565,50,20,@"dostr","",
	EDIT,"",1,5,590,360,135,""
	}
>