#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\"]
	};
 "
};

AutoConst: Win1,Win2,Win3,Win4,Win5;
AutoConst: St10,St11,St12,St13,St14,St15;
AutoConst: Ed10,Ed11,Ed12,Ed13,Ed14,Ed15,Ed16,Ed17;
AutoConst: Gr10,Gr11,Gr12,Gr13,Gr14,Gr15;
AutoConst: St20,St21,St22,St23,St24,St25;
AutoConst: Ed20,Ed21,Ed22,Ed23,Ed24,Ed25,Ed26,Ed27;
AutoConst: St30,St31,St32,St33,St34,St35;
AutoConst: Ed30,Ed31,Ed32,Ed33,Ed34,Ed35,Ed36,Ed37;
AutoConst: Gr20,Gr21,Gr22,Gr23,Gr24,Gr25;
AutoConst: St60,St61,St62,St63,St64,St65;
AutoConst: Ed60,Ed61,Ed62,Ed63,Ed64,Ed65,Ed66,Ed67;
AutoConst: St70,St71,St72,St73,St74,St75;
AutoConst: Ed70,Ed71,Ed72,Ed73,Ed74,Ed75,Ed76,Ed77;
AutoConst: Ch10,Ch11,Ch12,Ch13,Ch14,Ch15,Ch16,Ch17,Ch18;
AutoConst: Gr30,Gr31,Gr32,Gr33,Gr34,Gr35;
AutoConst: St80,St81,St82,St83,St84,St85;
AutoConst: Ed80,Ed81,Ed82,Ed83,Ed84,Ed85,Ed86,Ed87;
AutoConst: St90,St91,St92,St93,St94,St95;
AutoConst: Ed90,Ed91,Ed92,Ed93,Ed94,Ed95,Ed96,Ed97;
AutoConst: St100,St101,St102,St103,St104,St105;
AutoConst: Ed100,Ed101,Ed102,Ed103,Ed104,Ed105,Ed106,Ed107;
AutoConst: St110,St111,St112,St113,St114,St115;
AutoConst: Ed110,Ed111,Ed112,Ed113,Ed114,Ed115,Ed116,Ed117;
AutoConst: St120,St121,St122,St123,St124,St125;
AutoConst: Ed120,Ed121,Ed122,Ed123,Ed124,Ed125,Ed126,Ed127;
AutoConst: Gr40,Gr41,Gr42,Gr43,Gr44,Gr45;
AutoConst: Ra10,Ra11,Ra12,Ra13,Ra14,Ra15,Ra16,Ra17;
AutoConst: Ra20,Ra21,Ra22,Ra23,Ra24,Ra25,Ra26,Ra27;
AutoConst: St160,St161,St162,St163,St164,St165;
AutoConst: Ed160,Ed161,Ed162,Ed163,Ed164,Ed165,Ed166,Ed167;
AutoConst: St170,St171,St172,St173,St174,St175;
AutoConst: Ed170,Ed171,Ed172,Ed173,Ed174,Ed175,Ed176,Ed177;
AutoConst: St180,St181,St182,St183,St184,St185;
AutoConst: St190,St191,St192,St193,St194,St195;
AutoConst: Bu10,Bu11,Bu12,Bu13,Bu14,Bu15,Bu16,Bu17;
AutoConst: Ed180,Ed181,Ed182,Ed183,Ed184,Ed185,Ed186,Ed187;
AutoConst: EndAutoConst;
NewDoubleArrays[1];
NewDoubleArray[0,EndAutoConst];

SetPartArray[0,Win1,Win5,"һԪͼ",0,0,400,500];
SetPartArray[0,St10,St15,STATIC,"һԪ F(x)=",5,10,100,20];
SetPartArray[0,Ed10,Ed17,EDIT,"һԪ",-1,110,10,255,20,"x*sin[x]"];

SetPartArray[0,Gr10,Gr15,GROUPBOX,"Աı仯Χ",3,40,360,50];
SetPartArray[0,St20,St25,STATIC,"xСֵ",10,65,100,20];
SetPartArray[0,Ed20,Ed27,EDIT,"xСֵ",-1,110,65,50,20,"-10"];
SetPartArray[0,St30,St35,STATIC,"xֵ",200,65,100,20];
SetPartArray[0,Ed30,Ed37,EDIT,"xֵ",-1,300,65,50,20,"10"];

SetPartArray[0,Gr20,Gr25,GROUPBOX,"yϵĻͼΧ",3,100,360,75];
SetPartArray[0,St60,St65,STATIC,"yСֵ",10,125,100,20];
SetPartArray[0,Ed60,Ed67,EDIT,"yСֵ",-1,110,125,50,20,"-2"];
SetPartArray[0,St70,St75,STATIC,"yֵ",200,125,100,20];
SetPartArray[0,Ed70,Ed77,EDIT,"yֵ",-1,300,125,50,20,"2"];
SetPartArray[0,Ch10,Ch18,CHECKBOX,"ԶԱڵͼ",10,150,260,20,"//","",1];

SetPartArray[0,Gr30,Gr35,GROUPBOX,"ĻϵĻͼ",3,180,360,80];
SetPartArray[0,St80,St85,STATIC,"XСֵ",10,205,100,20];
SetPartArray[0,Ed80,Ed87,EDIT,"XСֵ",-1,110,205,50,20,"-15"];
SetPartArray[0,St90,St95,STATIC,"Xֵ",200,205,100,20];
SetPartArray[0,Ed90,Ed97,EDIT,"Xֵ",-1,300,205,50,20,"15"];
SetPartArray[0,St100,St105,STATIC,"YСֵ",10,230,100,20];
SetPartArray[0,Ed100,Ed107,EDIT,"YСֵ",-1,110,230,50,20,"-10"];
SetPartArray[0,St110,St115,STATIC,"Yֵ",200,230,100,20];
SetPartArray[0,Ed110,Ed117,EDIT,"Yֵ",-1,300,230,50,20,"10"];

SetPartArray[0,St120,St125,STATIC,"xָĿ",10,270,110,20];
SetPartArray[0,Ed120,Ed127,EDIT,"xָĿ",-1,120,270,50,20,"500"];

SetPartArray[0,Gr40,Gr45,GROUPBOX,"",5,290,360,60];
SetPartArray[0,Ra10,Ra17,RADIOBUTTON,"ͼͼڱ߽",10,305,260,20,"cut",""];
SetPartArray[0,Ra20,Ra27,RADIOBUTTON,"гͼͼ",10,325,180,20,"cut",",\"cut\""];

SetPartArray[0,St160,St165,STATIC,"ɫ",10,360,80,20];
SetPartArray[0,Ed160,Ed167,EDIT,"ɫ",-1,90,360,80,20,"0,0.5,0.5"];
SetPartArray[0,St170,St175,STATIC,"ͼɫ",200,360,80,20];
SetPartArray[0,Ed170,Ed177,EDIT,"ͼɫ",-1,280,360,80,20,"1,0,0"];

SetPartArray[0,St180,St185,STATIC,"˵F1ȫ۲ͼ󡣿áPageUpPageDownHomeƶͼ",5,390,360,40];

SetPartArray[0,St190,St195,STATIC,"",5,435,100,20];
SetPartArray[0,Bu10,Bu17,BUTTON,"ͼ",300,435,50,20,@"dostr",""];
SetPartArray[0,Ed180,Ed187,EDIT,"",1,5,460,360,135,""];

FcFunWin[EndAutoConst-1,0];
>
<Ԫͼ()
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\"]
	};
 "
};

AutoConst: Win1,Win2,Win3,Win4,Win5;
AutoConst: St10,St11,St12,St13,St14,St15;
AutoConst: Ed10,Ed11,Ed12,Ed13,Ed14,Ed15,Ed16,Ed17;
AutoConst: Gr10,Gr11,Gr12,Gr13,Gr14,Gr15;
AutoConst: St20,St21,St22,St23,St24,St25;
AutoConst: Ed20,Ed21,Ed22,Ed23,Ed24,Ed25,Ed26,Ed27;
AutoConst: St30,St31,St32,St33,St34,St35;
AutoConst: Ed30,Ed31,Ed32,Ed33,Ed34,Ed35,Ed36,Ed37;
AutoConst: St40,St41,St42,St43,St44,St45;
AutoConst: Ed40,Ed41,Ed42,Ed43,Ed44,Ed45,Ed46,Ed47;
AutoConst: St50,St51,St52,St53,St54,St55;
AutoConst: Ed50,Ed51,Ed52,Ed53,Ed54,Ed55,Ed56,Ed57;
AutoConst: Gr20,Gr21,Gr22,Gr23,Gr24,Gr25;
AutoConst: St60,St61,St62,St63,St64,St65;
AutoConst: Ed60,Ed61,Ed62,Ed63,Ed64,Ed65,Ed66,Ed67;
AutoConst: St70,St71,St72,St73,St74,St75;
AutoConst: Ed70,Ed71,Ed72,Ed73,Ed74,Ed75,Ed76,Ed77;
AutoConst: Ch10,Ch11,Ch12,Ch13,Ch14,Ch15,Ch16,Ch17,Ch18;
AutoConst: Gr30,Gr31,Gr32,Gr33,Gr34,Gr35;
AutoConst: St80,St81,St82,St83,St84,St85;
AutoConst: Ed80,Ed81,Ed82,Ed83,Ed84,Ed85,Ed86,Ed87;
AutoConst: St90,St91,St92,St93,St94,St95;
AutoConst: Ed90,Ed91,Ed92,Ed93,Ed94,Ed95,Ed96,Ed97;
AutoConst: St100,St101,St102,St103,St104,St105;
AutoConst: Ed100,Ed101,Ed102,Ed103,Ed104,Ed105,Ed106,Ed107;
AutoConst: St110,St111,St112,St113,St114,St115;
AutoConst: Ed110,Ed111,Ed112,Ed113,Ed114,Ed115,Ed116,Ed117;
AutoConst: St120,St121,St122,St123,St124,St125;
AutoConst: Ed120,Ed121,Ed122,Ed123,Ed124,Ed125,Ed126,Ed127;
AutoConst: St130,St131,St132,St133,St134,St135;
AutoConst: Ed130,Ed131,Ed132,Ed133,Ed134,Ed135,Ed136,Ed137;
AutoConst: St140,St141,St142,St143,St144,St145;
AutoConst: Ed140,Ed141,Ed142,Ed143,Ed144,Ed145,Ed146,Ed147;
AutoConst: St150,St151,St152,St153,St154,St155;
AutoConst: Ed150,Ed151,Ed152,Ed153,Ed154,Ed155,Ed156,Ed157;
AutoConst: Gr40,Gr41,Gr42,Gr43,Gr44,Gr45;
AutoConst: Ra10,Ra11,Ra12,Ra13,Ra14,Ra15,Ra16,Ra17;
AutoConst: Ra20,Ra21,Ra22,Ra23,Ra24,Ra25,Ra26,Ra27;
AutoConst: Ch20,Ch21,Ch22,Ch23,Ch24,Ch25,Ch26,Ch27,Ch28;
AutoConst: Ch30,Ch31,Ch32,Ch33,Ch34,Ch35,Ch36,Ch37,Ch38;
AutoConst: Ch40,Ch41,Ch42,Ch43,Ch44,Ch45,Ch46,Ch47,Ch48;
AutoConst: Ch50,Ch51,Ch52,Ch53,Ch54,Ch55,Ch56,Ch57,Ch58;
AutoConst: Ch60,Ch61,Ch62,Ch63,Ch64,Ch65,Ch66,Ch67,Ch68;
AutoConst: St160,St161,St162,St163,St164,St165;
AutoConst: Ed160,Ed161,Ed162,Ed163,Ed164,Ed165,Ed166,Ed167;
AutoConst: St170,St171,St172,St173,St174,St175;
AutoConst: St180,St181,St182,St183,St184,St185;
AutoConst: Bu10,Bu11,Bu12,Bu13,Bu14,Bu15,Bu16,Bu17;
AutoConst: Ed170,Ed171,Ed172,Ed173,Ed174,Ed175,Ed176,Ed177;
AutoConst: EndAutoConst;
NewDoubleArrays[1];
NewDoubleArray[0,EndAutoConst];
SetPartArray[0,Win1,Win5,"Ԫͼ",0,0,400,500];
SetPartArray[0,St10,St15,STATIC,"ԪF(x,y)=",5,10,125,20];
SetPartArray[0,Ed10,Ed17,EDIT,"Ԫ",-1,135,10,230,20,"(x^2-2*x)*exp(-x^2-y^2-x*y)"];
SetPartArray[0,Gr10,Gr15,GROUPBOX,"Աı仯Χ",3,40,360,75];
SetPartArray[0,St20,St25,STATIC,"xСֵ",10,65,100,20];
SetPartArray[0,Ed20,Ed27,EDIT,"xСֵ",-1,110,65,50,20,"-3"];
SetPartArray[0,St30,St35,STATIC,"xֵ",200,65,100,20];
SetPartArray[0,Ed30,Ed37,EDIT,"xֵ",-1,300,65,50,20,"3"];
SetPartArray[0,St40,St45,STATIC,"yСֵ",10,90,100,20];
SetPartArray[0,Ed40,Ed47,EDIT,"yСֵ",-1,110,90,50,20,"-3"];
SetPartArray[0,St50,St55,STATIC,"yֵ",200,90,100,20];
SetPartArray[0,Ed50,Ed57,EDIT,"yֵ",-1,300,90,50,20,"3"];
SetPartArray[0,Gr20,Gr25,GROUPBOX,"zϵĻͼΧ",3,120,360,75];
SetPartArray[0,St60,St65,STATIC,"zСֵ",10,145,100,20];
SetPartArray[0,Ed60,Ed67,EDIT,"zСֵ",-1,110,145,50,20,"-3"];
SetPartArray[0,St70,St75,STATIC,"zֵ",200,145,100,20];
SetPartArray[0,Ed70,Ed77,EDIT,"zֵ",-1,300,145,50,20,"3"];
SetPartArray[0,Ch10,Ch18,CHECKBOX,"ԶԱڵͼ",10,170,260,20,"//", "",1];
SetPartArray[0,Gr30,Gr35,GROUPBOX,"ĻϵĻͼ",3,200,360,100];
SetPartArray[0,St80,St85,STATIC,"XСֵ",10,225,100,20];
SetPartArray[0,Ed80,Ed87,EDIT,"XСֵ",-1,110,225,50,20,"-5"];
SetPartArray[0,St90,St95,STATIC,"Xֵ",200,225,100,20];
SetPartArray[0,Ed90,Ed97,EDIT,"Xֵ",-1,300,225,50,20,"5"];
SetPartArray[0,St100,St105,STATIC,"YСֵ",10,250,100,20];
SetPartArray[0,Ed100,Ed107,EDIT,"YСֵ",-1,110,250,50,20,"-5"];
SetPartArray[0,St110,St115,STATIC,"Yֵ",200,250,100,20];
SetPartArray[0,Ed110,Ed117,EDIT,"Yֵ",-1,300,250,50,20,"5"];
SetPartArray[0,St120,St125,STATIC,"ZСֵ",10,275,100,20];
SetPartArray[0,Ed120,Ed127,EDIT,"ZСֵ",-1,110,275,50,20,"-5"];
SetPartArray[0,St130,St135,STATIC,"Zֵ",200,275,100,20];
SetPartArray[0,Ed130,Ed137,EDIT,"Zֵ",-1,300,275,50,20,"5"];
SetPartArray[0,St140,St145,STATIC,"xָĿ",10,315,110,20];
SetPartArray[0,Ed140,Ed147,EDIT,"xָĿ",-1,120,315,50,20,"30"];
SetPartArray[0,St150,St155,STATIC,"yָĿ",200,315,110,20];
SetPartArray[0,Ed150,Ed157,EDIT,"yָĿ",-1,310,315,50,20,"30"];
SetPartArray[0,Gr40,Gr45,GROUPBOX,"",5,340,360,60];
SetPartArray[0,Ra10,Ra17,RADIOBUTTON,"ͼͼڱ߽",10,355,260,20,"cut",""];
SetPartArray[0,Ra20,Ra27,RADIOBUTTON,"гͼͼ",10,375,180,20,"cut",",\"cut\""];
SetPartArray[0,Ch20,Ch28,CHECKBOX,"",10,410,100,20,"",",\"noaxes\"",1];
SetPartArray[0,Ch30,Ch38,CHECKBOX,"",145,410,85,20,"",",\"nomesh\"",1];
SetPartArray[0,Ch40,Ch48,CHECKBOX,"Xת",10,430,100,20,"1","0",1];
SetPartArray[0,Ch50,Ch58,CHECKBOX,"Yת",145,430,100,20,"1","0",1];
SetPartArray[0,Ch60,Ch68,CHECKBOX,"Zת",270,430,100,20,"1","0",1];
SetPartArray[0,St160,St165,STATIC,"תٶȣٶΪ0ֹͣת",10,450,250,20];
SetPartArray[0,Ed160,Ed167,EDIT,"תٶȣ",-1,270,450,50,20,"1"];
SetPartArray[0,St170,St175,STATIC,"˵F1ȫ۲ͼͼתУAltͣͼתֹͣת󣬻üƶתͼ볢ԡPageUpPageDownHomeԼShiftЩϣShift+",5,475,360,80];
SetPartArray[0,St180,St185,STATIC,"",5,565,100,20];
SetPartArray[0,Bu10,Bu17,BUTTON,"ͼ",300,565,50,20,@"dostr",""];
SetPartArray[0,Ed170,Ed177,EDIT,"",1,5,590,360,135,""];
FcFunWin[EndAutoConst-1,0];
>