电磁学小作业(天线概述_对称振子近似分析)

//----------------------------------------------------------------------------------------------------------------------
//电磁学小作业(天线概述_对称振子近似分析)
//题目描述:
//01.参考书目:ISBN 978-7-03-025068-1.
//01.天线是辐射(或接收)电磁波的工具.
//[基础:电基本振子的辐射分析复习]---------------------------------------------------------------------------------------
//[A.矢量位和标量位的定义]
//[B.电基本振子的辐射分析]
//   a.基本振子是最简单的天线形式;电基本振子是构成各类线性天线的基本单元;
//   b.电基本振子是一段载有高频电流的短导线;其长度dl远小于波长λ;导线上的电流可以近似认为是等幅同相的.
//   c.沿z轴放置的电基本振子产生的远区电场仅有Eθ(子午面切向)方向;磁场仅有Hφ(赤道面切向)方向.
//[C.近区场的电磁场分析]
//[D.远区场的电磁场分析]
//   a.远区场仅有Eθ与Hφ两个分量,两者在时间上同相,在空间上互相垂直,并与矢径方向垂直.
//   b.E=aθ·Eθ=aθ·[j*sqrt(μ/ε)*I*dl*sin(θ)/2*λ*r]*exp(-jkr).
//   c.H=aφ·Hφ=aφ·[j*I*dl*sin(θ)/2*λ*r]*exp(-jkr).
//   d.将电场Eθ,磁场Hφ表示为瞬时值形式:
//   e.E=aθ·Eθ=aθ·[I*dl*sin(θ)/2*λ*r]*η*cos(wt-kr+π/2).
//   f.H=aφ·Hφ=aφ·[I*dl*sin(θ)/2*λ*r]*cos(wt-kr+π/2).
//[本节:对称振子近似分析]-----------------------------------------------------------------------------------------------
//01.对称振子由中心馈电的直导线构成;也称为对称天线,双极天线和偶极天线.
//02.对天线特性的研究要从它在空间的辐射场出发;先求出它在空间的辐射场,再由辐射场求出它的特性参数.
//03.天线在空间的辐射场可由天线上的电流分布求得,因此,对对称振子研究的第一步是求其上的电流分布.
//04.电流分布可通过边值问题求解积分方程得出,但即使对称振子这样结构简单的天线它的严格解也是很难得到的.
//05.求解天线电流分布的数值方法有矩量法等,得到精确解;实际上常用传输线近似法来确定对称振子的电流分布.
//06.当天线在中心馈电口输入电磁功率时,天线上将产生电流;此电流在天线上下两个开路端应为0;所以电流分布近似为:
//07.I(z)=Im*sin[k(dl-z)](当z>0时)
//08.I(z)=Im*sin[k(dl+z)](当z<0时)
//09.其中:Im-馈电点的电流幅值(A).
//10.     k-2π/λ,自由空间中的波数.(rad/m).
//11.将对称振子分割成无限多本首尾相接的电基本振子;空间中任一点的场,就是对这些电基本振子辐射场叠加的结果.
//12.通过对这些电基本振子所产生的场对对称振子的轴线进行积分,即可得到对称振子在空间的辐射场.
//13.将对称振子的电流代入到电基本振子的辐射场计算公式,得到:
//14.d(Eθ)=aθ·[j*sqrt(μ/ε)*I(z)*d(z)*sin(θ)/2*λ*R]*exp(-jkR).
//15.其中:R=|r-r'|,对称振子上线元d(z)至观察点M的距离.
//16.     r-观察点M的位置矢量.
//17.     r'-线元d(z)的位置矢量.
//18.取近似值:R=|r-r'|=r-r'*cos(θ)=r-z'*cos(θ).
//19.当观察场点M在远区时,认为天线上的每个电流元d(z)对观察点M的指向纬度角θ是平行的;相位项中R≈r-z'*cos(θ);距离项中R≈r.
//20.所以有:d(Eθ)=aθ·[j*60π*I(z)*d(z)*sin(θ)/λ*r]*exp(-jkr)*exp(jkz*cos(θ)).
//21.对称天线的总辐射场应是所有这些电流元d(z)的辐射场的叠加,取积分,上下限(-dl,dl),得到:
//22.Eθ=∫(-dl,dl)d(Eθ)=[j*sqrt(μ/ε)*Im*sin(θ)/2*λ*r]*exp(-jkr)∫(-dl,dl)sin[k(dl-|z|)]*exp(jkz*cos(θ))*d(z).
//23.   =[j*sqrt(μ/ε)*Im/2π*r]*exp(-jkr)*f(θ).
//24.其中:f(θ)=[cos(k*l*cos(θ))-cos(k*l)]/sin(θ).称为对称天线的方向性函数.
//25.观察f(θ)可得:远区电场只与θ分量,磁场只有φ分量;磁场的H面方向图是圆.
//26.方向性函数f(θ)与对称振子的单臂长度dl有关,引入变量:对称振子的电长度el=2*dl/λ;用来描述f(θ).
//27.平均坡印廷矢量S(平均)=0.5*Re[E×H(*)]=ar·0.5*[|Eθ|^2]/η=ar·[η*Im*Im/8π*π*r*r]*f(θ)*f(θ).
//28.对称振子向空间辐射的总功率称为该天线的辐射功率,记为Pr:
//29.Pr=∮S(平均)*d(s)=∮ar·[η*Im*Im/8π*π*r*r]*f(θ)*f(θ)*d(s)=(转换为球坐标形式)=
//     =∫(0,r)∫(0,π)∫(0,2π){[η*Im*Im/8π*π*r*r]*f(θ)*f(θ)}*(r^2)*sin(θ)*d(θ)*d(φ)
//     =∫(0,2π)d(φ)∫(0,π){[η*Im*Im/8π*π]*f(θ)*f(θ)*sin(θ)}d(θ)
//     =[η*Im*Im/4π]∫(0,π)[f(θ)*f(θ)*sin(θ)]d(θ)
//30.对称振子的辐射电阻:Rr=Pr/pow(Im/sqrt(2.0)],2)=2*Pr/pow(Im,2).
//31.方向性系数D的概念:在相同的辐射功率Pr下,这个天线产生最大辐射方向上某距离处的功率密度与理想无方向性天线的功率密度之比.
//32.由于Pr=∮S(平均)*d(s)=∮[0.5*pow(|E|,2)/η]*d(s)=∮[0.5*pow(|Emax|,2)*pow(|F(θφ)|,2)/η]*d(s)=(转换为球坐标形式)=
//         =∫(0,r)∫(0,π)∫(0,2π)[0.5*pow(|Emax|,2)*pow(|F(θφ)|,2)/η]*(r^2)*sin(θ)*d(θ)*d(φ)
//         =[0.5*pow(|Emax|*r,2)/η]*∫(0,π)∫(0,2π)[pow(|F(θφ)|,2)]*sin(θ)*d(θ)*d(φ)
//其中:归一化方向函数F(θφ)=|f(θφ)|/fmax.
//33.对于假设的理想无方向性天线,F=1,与θφ无关;E面为圆,H面为圆;Pr0=∮S0*d(s)=S0*2π*r*r=2π*pow(|E0|*r,2)/η.
//34.在辐射功率相同,Pr=Pr0条件下,定义D=pow(|Emax|/|E0|,2)=4π/∫(0,π)∫(0,2π)[pow(|F(θφ)|,2)]*sin(θ)*d(θ)*d(φ).
//35.无方向性天线D=4π/∫(0,π)∫(0,2π)[pow(|F(θφ)|,2)]*sin(θ)*d(θ)*d(φ)=1.
//36.方向性系数D的物理含义:表征天线在最大辐射方向比起无方向天线来说,把辐射功率增加的倍数.
//----------------------------------------------------------------------------------------------------------------------
//程序编制要求:
//1.已知电流幅值I,振动频率f;媒质相对介电常数εr,相对磁导率μr.
//2.计算电场的幅值E,磁场的幅值H及传播特性.
//3.绘制对称振子的(远区)电磁场传播示意图.
//--------------------------------------------------------------------------------------------------------------------
#include <graphics.h>//包含Easyx模拟TC的BGI绘图库头文件
#include <math.h>//包含数学运算头文件
#include <iostream.h>//
#define DD 40//宏定义标题边框距离
#define DW 10//宏定义宽度边框距离
#define DH 10//宏定义高度边框距离
#define DC 200//宏定义控件区域宽度
#define PI 3.1415926//宏定义圆周率
#define mu0 4.0*PI//宏定义μ0(E-7)
#define yp0 1.0/(36*PI)//宏定义ε0(E-9)
//辅助颜色------------------------------------------
#define c1 RGB(38,47,86)//宏定义辅助线颜色1
#define c2 RGB(38,47,86)//宏定义辅助线颜色2
#define c3 RGB(255,255,255)//宏定义文字及边框颜色
//曲线颜色------------------------------------------
#define cc1 RGB(0,255,255)//宏定义曲线颜色4(青色)
#define cc2 RGB(0,255,0)//宏定义曲线颜色2(绿色)
#define cc3 RGB(150,100,0)//宏定义曲线颜色3(黄色)
//定义结构体-------------------------------------------------------------------------------------------------------
typedef struct points
{
	double x,y,z,m,n;//定义双精度变量(前3个计算坐标+后2个投影坐标)
}DPOINT;//结束结构体
//窗口全局变量-----------------------------------------------------------------------------------------------------
int W = GetSystemMetrics(SM_CXSCREEN);//获取整个屏幕右下角X坐标
int H = GetSystemMetrics(SM_CYSCREEN);//屏幕Y坐标 
int c_h=22;//定义控件高度
double ud=2.0/3.0;//窗口上片比例
double lr=1.0/2.0;//窗口左片比例
//E面方向图窗口全局变量
double x_1=DW;//片区1起点x
double y_1=H-DH-(1-ud)*(H-DD-DH);//片区1起点y
double x_1a=x_1+0.5*lr*(W-2.0*DW-DC);
double y_1a=y_1+0.9*(1-ud)*(H-DD-DH);
//H面方向图窗口全局变量
double x_2=x_1+lr*(W-2.0*DW-DC);//片区2起点x
double y_2=y_1;//片区2起点y
double x_2a=x_2+0.5*lr*(W-2.0*DW-DC);
double y_2a=y_2+0.5*(1-ud)*(H-DD-DH);
//三维示意面窗口全局变量
double aaa=(4.0/5.0);//宏定义三维原点占x比例
double bbb=(3.5/5.0);//宏定义三维原点占y比例
double x_3=DW+(W-2.0*DW)*(1-aaa);//三维原点x位置
double y_3=DD+bbb*ud*(H-DD-DH);//三维原点y位置
double scale_3=aaa*(W-2.0*DW)/1000.0;//片区3全局比例
double d_B=(400.0)*scale_3*(sqrt(2.0)/4.0);//投影增量
double xmin=x_3-d_B;//
double ymin=y_3+d_B;//
//数据全局变量
char is1[20]="1.0";//预定义:1.振子单臂长dl(m)
char is2[20]="10";//2.电流幅值I(A)
char is3[20]="100";//3.振动频率f(MHz)
char is4[20]="1";//4.[本]相对介电εr
char is5[20]="1";//5.[本]相对磁导μr
char is12[20]="100";//12.距离r(m)
char is13[20]="45";//13.纬度角θ(°)
char is6[20],is7[20],is8[20],is9[20],is10[20],is11[20],is14[20],is15[20],is16[20],is17[20],is18[20],is19[20],is20[20];//
char is21[20],is22[20];//
double d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d13_r,d14,d15,d16,d17,d18,d19,d20,d21,d22,fm;//(存储计算值)
DPOINT pt1,pt2,pt3,pt4,pt5,pt6,pt7,pt8,pt9,pt10,pt11,pt12,pt13,pt14,pt15,pt16,pt17,pt18,pt19,pt20;//
DPOINT pt1a,pt2a,pt3a,pt4a,pt5a,pt6a,pt7a,pt8a,pt9a,pt10a,pt11a,pt12a,pt13a,pt14a,pt15a,pt16a,pt17a,pt18a,pt19a,pt20a;//
int i,j,k;//
double fi_r=60.0;//经度角(随机取值)
double value;//定义双精度变量
char stt[10];//定义字符数组	
//函数声明---------------------------------------------------------------------------------------------------------
void sub_frame();//绘制框架子函数
void sub_calculate();//计算数据子函数
void cross1(double x1,double y1,double sec,double cc);//交叉点样式1
void cross2(double x1,double y1,double sec,double cc);//交叉点样式2
void dline(DPOINT x1,DPOINT x2,double cc);//根据两点和颜色绘制线段(辅助线和轮廓线)
void draw_equator(double R,double fi,double color);//绘制子午圆
void draw_meridian(double R,double xt,double color);//绘制赤道圆
void func_P(double xx,double yy,double zz,double *mm,double *nn);//三维坐标对绘图区投影
void draw_pt();//绘制点位
void draw_ol();//绘制轮廓线
void draw_polar_x();//绘制极坐标方向图(θ方向图)
void draw_polar_f();//绘制极坐标方向图(Φ方向图)
void func_fxt(double xt,double *fx);//计算方向性函数f(θ)的值
void func_fm(double *fm);//计算方向性函数F(θ)的fmax值
void func_integral_f(double *fss);//计算方向性函数F(θ)的积分值
//主函数-----------------------------------------------------------------------------------------------------------
void main()
{
	sub_frame();//绘图初始化
	MOUSEMSG m;//定义鼠标消息 
	while(true)//循环
	{
		m=GetMouseMsg();//获取一条鼠标消息 
		switch(m.uMsg)//根据获得的消息选择分支
		{
		case WM_LBUTTONDOWN://鼠标左键单击时判断数据输入
			{
				//判断鼠标位置是否在指定的控件区域
				//A.获取原始数据(横坐标在输入区域时输入数据)-------------------------------
				if(m.x>=W-DW-DC && m.x<=W-DW)
				{
					//1.振子单臂长dl(m):-----------------------------------------------------
					if(m.y>=H-DH-25*c_h+1 && m.y<=H-DH-24*c_h-1)//
					{
						InputBox(is1,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-25*c_h+1,W-DW,H-DH-24*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-25*c_h+15,is1);//写控件字符串
					}//结束if
					//2.电流幅值I(A):-----------------------------------------------------
					if(m.y>=H-DH-24*c_h+1 && m.y<=H-DH-23*c_h-1)//
					{
						InputBox(is2,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-24*c_h+1,W-DW,H-DH-23*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-24*c_h+15,is2);//写控件字符串
					}//结束if
					//3.振动频率f(MHz):-----------------------------------------------------
					if(m.y>=H-DH-23*c_h+1 && m.y<=H-DH-22*c_h-1)//
					{
						InputBox(is3,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-23*c_h+1,W-DW,H-DH-22*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-23*c_h+15,is3);//写控件字符串
					}//结束if
					//4.[本]相对介电εr:-----------------------------------------------------
					if(m.y>=H-DH-22*c_h+1 && m.y<=H-DH-21*c_h-1)//
					{
						InputBox(is4,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-22*c_h+1,W-DW,H-DH-21*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-22*c_h+15,is4);//写控件字符串
					}//结束if
					//5.[本]相对磁导μr:-----------------------------------------------------
					if(m.y>=H-DH-21*c_h+1 && m.y<=H-DH-20*c_h-1)//
					{
						InputBox(is5,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-21*c_h+1,W-DW,H-DH-20*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-21*c_h+15,is5);//写控件字符串
					}//结束if
					//12.距离r(m):-----------------------------------------------------
					if(m.y>=H-DH-14*c_h+1 && m.y<=H-DH-13*c_h-1)//
					{
						InputBox(is12,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-14*c_h+1,W-DW,H-DH-13*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-14*c_h+15,is12);//写控件字符串
					}//结束if
					//13.纬度角θ(°):-----------------------------------------------------
					if(m.y>=H-DH-13*c_h+1 && m.y<=H-DH-12*c_h-1)//
					{
						InputBox(is13,9,"请输入数据");//读入数据
						setfillcolor(BLACK);
						fillrectangle(W-DW-DC+DC/2+10,H-DH-13*c_h+1,W-DW,H-DH-12*c_h);
						outtextxy(W-DW-DC+DC/2+15,H-DH-13*c_h+15,is13);//写控件字符串
					}//结束if
				}//结束if(横坐标在输入区域时输入数据)
				sub_frame();//重绘框架
				//B.计算并绘图(横坐标在绘图区域时计算绘图)---------------------------------
				if(m.x>=DW && m.x<=W-DW-DC)
				{
					sub_calculate();//调用计算绘图函数
				}//结束if
				break;//
			}//结束case(结束鼠标左键单击事件消息处理)
		case WM_RBUTTONDOWN://鼠标移动的时候画个空心的圆
			return;//返回while
		}//结束switch(结束鼠标消息)
	}//结束while
}//结束主函数
//绘制框架子函数
void sub_frame()
{
	//1.全屏效果---------------------------------------------------------------------------
	initgraph(W,H);//初始化绘图窗口
	HWND hWnd = GetHWnd();//获取窗口句柄
	LONG style = GetWindowLong(hWnd,-16);//获得窗口风格
	style = style & ~WS_CAPTION & ~WS_SIZEBOX; //窗口全屏显示且不可改变大小
	SetWindowLong(hWnd,-16,style);//设置窗口风格
	SetWindowPos(hWnd, NULL,0,0,W,H,SWP_NOZORDER);//改变窗口位置,尺寸和Z序
	//ShowCursor(FALSE);//显示时隐藏鼠标
	//------------------------------------------------------------------------------------
	//2.绘制工作区边框
	setcolor(c3);
	rectangle(DW,DD,W-DW,H-DH);//外边框
	rectangle(W-DW-DC,DD,W-DW,H-DH);//控件区域边框
	//5.输出标题
	setfont(16,0,"黑体");
	outtextxy(5,10,"电磁学小作业(天线概述_对称振子近似分析)");
	//6.输出简单说明
	RECT r={W-DW-DC+10,DD+10,W-DW-10,H-DH-10};//
	setfont(12,0,"宋体");//
	drawtext("电磁学小作业:\n \n \
				天线概述_对称振子近似分析\
				\
				\n\n\
				操作说明:\n\n\
				鼠标左键  : 数据输入\n\
				鼠标右键  : 退出程序\n\
			\n\
			1~5为输入数据   6~16为计算数据\n\
			\n\n\
			\n\n\
			\
			\n", &r, DT_WORDBREAK);//
	//7.调整说明文字下面的矩形控件
	int c_x1=W-DW-DC,c_x2=W-DW;//控件左右x坐标
	int c_y1=H-DH;//第1个控件下y坐标
	for(int i=1;i<=25;i++)
	{
		rectangle(c_x1,c_y1,c_x2,c_y1-c_h);//
		c_y1=c_y1-c_h;
	}//结束for
	//8.绘制控件说明文字
	setcolor(RGB(220,34,34));//砖红
	outtextxy(c_x1+10,H-DH-25*c_h+0.4*c_h,"1.振子单臂长dl(m):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-24*c_h+0.4*c_h,"2.电流幅值I(A):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-23*c_h+0.4*c_h,"3.振动频率f(MHz):");//输出字符串模拟控件文字	
	outtextxy(c_x1+10,H-DH-22*c_h+0.4*c_h,"4.[本]相对介电εr:");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-21*c_h+0.4*c_h,"5.[本]相对磁导μr:");//输出字符串模拟控件文字
	setcolor(c3);
	outtextxy(c_x1+10,H-DH-20*c_h+0.4*c_h,"6.[本]本征阻抗η(Ω):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-19*c_h+0.4*c_h,"7.圆频率w(MHz):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-18*c_h+0.4*c_h,"8.波数k(rad/m):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-17*c_h+0.4*c_h,"9.相速度Up(E8m/s):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-16*c_h+0.4*c_h,"10.波长λ(m):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-15*c_h+0.4*c_h,"11.电长度(2*dl/λ):");//输出字符串模拟控件文字
	setcolor(RGB(240,230,140));//柠檬黄
	outtextxy(c_x1+10,H-DH-14*c_h+0.4*c_h,"12.距离r(m):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-13*c_h+0.4*c_h,"13.纬度角θ(°):");//输出字符串模拟控件文字
	setcolor(c3);
	outtextxy(c_x1+10,H-DH-12*c_h+0.4*c_h,"14.方向函数f(θ):");//输出字符串模拟控件文字	
	outtextxy(c_x1+10,H-DH-11*c_h+0.4*c_h,"15.[E]幅值E0(V/m):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-10*c_h+0.4*c_h,"16.[H]幅值H0(A/m):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-9*c_h+0.4*c_h,"17.[S]平均能流密度(w/m2):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-8*c_h+0.4*c_h,"18.天线总功率Pr(w):");//输出字符串模拟控件文字
    outtextxy(c_x1+10,H-DH-7*c_h+0.4*c_h,"19.等效辐射电阻Rr(Ω):");//输出字符串模拟控件文字
	outtextxy(c_x1+10,H-DH-6*c_h+0.4*c_h,"20.方向函数fmax:");//输出字符串模拟控件文字	
	outtextxy(c_x1+10,H-DH-5*c_h+0.4*c_h,"21.归一化F(θ):");//输出字符串模拟控件文字	
	outtextxy(c_x1+10,H-DH-4*c_h+0.4*c_h,"22.方向性系数D:");//输出字符串模拟控件文字
	//8.初始化原始数据
	outtextxy(W-DW-DC+DC/2+65,H-DH-25*c_h+0.4*c_h,is1);//写控件字符串
	outtextxy(W-DW-DC+DC/2+65,H-DH-24*c_h+0.4*c_h,is2);//写控件字符串
	outtextxy(W-DW-DC+DC/2+65,H-DH-23*c_h+0.4*c_h,is3);//写控件字符串
	outtextxy(W-DW-DC+DC/2+65,H-DH-22*c_h+0.4*c_h,is4);//写控件字符串
	outtextxy(W-DW-DC+DC/2+65,H-DH-21*c_h+0.4*c_h,is5);//写控件字符串
	outtextxy(W-DW-DC+DC/2+65,H-DH-14*c_h+0.4*c_h,is12);//写控件字符串
	outtextxy(W-DW-DC+DC/2+65,H-DH-13*c_h+0.4*c_h,is13);//写控件字符串
}//结束子程序
//计算数据子函数
void sub_calculate()
{
	//1.原始数据转化为双精度数
	d1=atof(is1);//1.振子单臂长dl(m)
	d2=atof(is2);//2.电流幅值I(A)
	d3=atof(is3);//3.振动频率f(MHz)
	d4=atof(is4);//4.[本]相对介电εr
	d5=atof(is5);//5.[本]相对磁导μr
	d12=atof(is12);//12.距离r(m)
	d13=atof(is13);//13.纬度角θ(°)
	d13_r=d13*PI/180.0;//
	//2.根据数据计算要求项目---------------------------------------------------------------------------
	d6=10.0*sqrt((1.0*d5*mu0)/(d4*yp0));//6.[本]本征阻抗η(Ω)	
	d7=2*PI*d3;//7.圆频率w(MHz)
    d8=0.01*d7*sqrt(d4*d5*yp0*mu0);//8.波数k(rad/m)
	d9=3.0/sqrt(d4*d5);//9.相速度Up(E8m/s)
	d10=2.0*PI/d8;//10.波长λ(m)
	d11=2.0*d1/d10;//11.电长度(2*dl/λ)
	func_fxt(d13_r,&d14);//14.方向函数f(θ)
	d15=0.5*d6*d2*fabs(d14)/(PI*d12);//15.[E]幅值E0(V/m)=[sqrt(μ/ε)*Im/2π*r]*f(θ).
	d16=1.0*d15/d6;//16.[H]幅值H0(A/m)
	d17=0.125*d6*pow(1.0*d2*d14/(PI*d12),2.0);//17.[S]平均能流密度(w/m2)=ar·[η*Im*Im/8π*π*r*r]*f(θ)*f(θ).
	double d18_1;//
	func_integral_f(&d18_1);//f(θ)积分值
	//cout<<d18_1<<endl;
	d18=0.25*d6*d2*d2*d18_1/PI;//18.天线总功率Pr(w)=[η*Im*Im/4π]∫(0,π)[f(θ)*f(θ)*sin(θ)]d(θ)
	d19=2.0*d18/pow(d2,2.0);//19.等效辐射电阻Rr(Ω)=2*Pr/pow(Im,2)
	func_fm(&d20);//20.方向函数fmax
	d21=fabs(d14)/d20;//21.归一化F(θ)
	d22=2.0*pow(d20,2.0)/d18_1;//22.方向性系数D
	//3.将计算结果转化为字符串--------------------------------------------------------------------------
	gcvt(d6,4,is6);//
	gcvt(d7,4,is7);//
	gcvt(d8,4,is8);//
	gcvt(d9,4,is9);//
	gcvt(d10,4,is10);//
	gcvt(d11,4,is11);//
	gcvt(d14,4,is14);//
	gcvt(d15,4,is15);//
	gcvt(d16,4,is16);//
	gcvt(d17,4,is17);//
	gcvt(d18,4,is18);//
	gcvt(d19,4,is19);//
	gcvt(d20,4,is20);//
	gcvt(d21,4,is21);//
	gcvt(d22,4,is22);//
	//4.将字符串写入控件中
	setfillcolor(BLACK);
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-20*c_h+1,W-DW,H-DH-19*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-20*c_h+0.4*c_h,is6);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-19*c_h+1,W-DW,H-DH-18*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-19*c_h+0.4*c_h,is7);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-18*c_h+1,W-DW,H-DH-17*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-18*c_h+0.4*c_h,is8);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-17*c_h+1,W-DW,H-DH-16*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-17*c_h+0.4*c_h,is9);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-16*c_h+1,W-DW,H-DH-15*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-16*c_h+0.4*c_h,is10);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-15*c_h+1,W-DW,H-DH-14*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-15*c_h+0.4*c_h,is11);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-12*c_h+1,W-DW,H-DH-11*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-12*c_h+0.4*c_h,is14);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-11*c_h+1,W-DW,H-DH-10*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-11*c_h+0.4*c_h,is15);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-10*c_h+1,W-DW,H-DH-9*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-10*c_h+0.4*c_h,is16);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-9*c_h+1,W-DW,H-DH-8*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-9*c_h+0.4*c_h,is17);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-8*c_h+1,W-DW,H-DH-7*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-8*c_h+0.4*c_h,is18);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-7*c_h+1,W-DW,H-DH-6*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-7*c_h+0.4*c_h,is19);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-6*c_h+1,W-DW,H-DH-5*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-6*c_h+0.4*c_h,is20);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-5*c_h+1,W-DW,H-DH-4*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-5*c_h+0.4*c_h,is21);//写控件字符串	
	//------------------------------------------------------------
	fillrectangle(W-DW-DC+DC/2+40,H-DH-4*c_h+1,W-DW,H-DH-3*c_h);
	outtextxy(W-DW-DC+DC/2+45,H-DH-4*c_h+0.4*c_h,is22);//写控件字符串	
	//------------------------------------------------------------
	setcolor(cc1);//说明曲线颜色
	line(W-DW-DC-200,H-DH-15*c_h+10,W-DW-DC-260,H-DH-15*c_h+10);	
	outtextxy(W-DW-DC-200+15,H-DH-15*c_h+5,"1.磁场Hφ");//写控件字符串
	//------------------------------------------------------------
	setcolor(cc2);//说明曲线颜色
	line(W-DW-DC-200,H-DH-14*c_h+10,W-DW-DC-260,H-DH-14*c_h+10);	
	outtextxy(W-DW-DC-200+15,H-DH-14*c_h+5,"2.电场Eθ");//写控件字符串
	//------------------------------------------------------------
	setcolor(cc3);//说明曲线颜色
	line(W-DW-DC-200,H-DH-13*c_h+10,W-DW-DC-260,H-DH-13*c_h+10);	
	outtextxy(W-DW-DC-200+15,H-DH-13*c_h+5,"3.坡印廷矢量Sr(波传播方向)");//写控件字符串
	//------------------------------------------------------------
	//5.绘制工作区坐标线
	//5_1画窗口标线-----------------------------
	setcolor(c3);
	line(x_1,y_1,W-DW-DC,y_1);//上下窗口线
	line(x_2,y_2,x_2,H-DH);//左右窗口线
	setfont(12,0,"黑体");
	outtextxy(DW+10,DD+10,"[对称振子电磁场示意图]");//
	//5_2三维示意图标线------------------------
	setcolor(c1);
	line(x_3,y_3,W-DW-DC,y_3);//y轴
	line(x_3,y_3,x_3,DD);//z轴
	line(x_3,y_3,xmin,ymin);//x轴
	setcolor(RED);//三个坐标轴颜色
	setfont(20,0,"黑体");
	outtextxy(x_3-20,y_3-10,"O");//原点
	outtextxy(xmin-20,ymin+10,"X");//x轴
	outtextxy(W-DW-DC-20,y_3-10,"Y");//y轴
	outtextxy(x_3-20,DD+20,"Z");//z轴
	//5_3电流元标线----------------------------
	setcolor(RED);
	line(x_3-10,y_3-3,x_3,y_3-3);//电流元标线
	line(x_3,y_3-3,x_3,y_3-30);//
	line(x_3-10,y_3+3,x_3,y_3+3);//
	line(x_3,y_3+3,x_3,y_3+30);//
	cross2(x_3-10,y_3-3,3,cc1);cross2(x_3,y_3-3,3,cc1);cross2(x_3,y_3-30,3,cc1);//电流元标线
	cross2(x_3-10,y_3+3,3,cc1);cross2(x_3,y_3+3,3,cc1);cross2(x_3,y_3+30,3,cc1);
	//5_4绘制球坐标辅助标线--------------------
	draw_meridian(300,90,c1);//xoy面
	draw_equator(300,0,c1);//xoz面
	draw_equator(300,90,c1);//yoz面
	//5_5绘制观测点所在标线--------------------
	draw_meridian(300,d11,c1);//赤道平行面
	draw_equator(300,fi_r,c1);//子午面(随机取为60°)
	//5_6绘制辅助点所在标线--------------------
	draw_pt();//绘制点位
	draw_ol();//绘制轮廓线
	//5_7绘制极坐标方向图----------------------
	draw_polar_x();//绘制极坐标方向图(θ方向图)
	draw_polar_f();//绘制极坐标方向图(Φ方向图)
	//6.重新绘制工作区边框
	setcolor(c3);
	rectangle(DW,DD,W-DW,H-DH);//外边框
	rectangle(W-DW-DC,DD,W-DW,H-DH);//控件区域边框	
	//------------------------------------------------------------
}//结束子函数
void func_P(double xx,double yy,double zz,double *x1,double *y1)//三维坐标对绘图区投影
{
	*x1=yy-xx*sqrt(2.0)/4.0;//投影x
	*y1=zz-xx*sqrt(2.0)/4.0;//投影y
	//平移
	*x1=(*x1)+x_3;//
	*y1=y_3-(*y1);//
}//
void cross1(double x1,double y1,double sec,double cc)//交叉点样式1
{
	setcolor(cc);//
	line(x1-sec,y1,x1+sec,y1);//
	line(x1,y1-sec,x1,y1+sec);//
	setcolor(c3);//
}//
void cross2(double x1,double y1,double sec,double cc)//交叉点样式2
{
	setcolor(cc);
	line(x1-sqrt(0.25*PI)*0.5*sec,y1-sqrt(0.25*PI)*0.5*sec,x1+sqrt(0.25*PI)*0.5*sec,y1+sqrt(0.25*PI)*0.5*sec);//
	line(x1+sqrt(0.25*PI)*0.5*sec,y1-sqrt(0.25*PI)*0.5*sec,x1-sqrt(0.25*PI)*0.5*sec,y1+sqrt(0.25*PI)*0.5*sec);//
	setcolor(c3);//
}//
void draw_equator(double R,double fi,double color)//绘制子午圆
{
	DPOINT *p1;//
	p1=new DPOINT[10000];//
	for(j=0;j<=90.0;j++)//xi的取值
	{
		//1.获得点表-------------------------------
		p1[j].z=R*cos(j*PI/180.0);
		p1[j].x=R*sin(j*PI/180.0)*cos(fi*PI/180.0);
		p1[j].y=R*sin(j*PI/180.0)*sin(fi*PI/180.0);	
		//2.三维坐标对绘图区投影-------------------
		func_P(p1[j].x,p1[j].y,p1[j].z,&p1[j].m,&p1[j].n);//投影到绘图坐标
	}//结束for
	setcolor(color);//曲线颜色
	for(j=0;j<90.0;j++)//
	{
		line(p1[j].m,p1[j].n,p1[j+1].m,p1[j+1].n);//
	}//结束for
}//结束子函数
void draw_meridian(double R,double xt,double color)//绘制赤道圆
{
	DPOINT *p1;//
	p1=new DPOINT[10000];//
	for(j=0;j<=90.0;j++)//fi的取值
	{
		//1.获得点表-------------------------------
		p1[j].z=R*cos(xt*PI/180.0);
		p1[j].x=R*sin(xt*PI/180.0)*cos(j*PI/180.0);
		p1[j].y=R*sin(xt*PI/180.0)*sin(j*PI/180.0);		
		//2.三维坐标对绘图区投影-------------------
		func_P(p1[j].x,p1[j].y,p1[j].z,&p1[j].m,&p1[j].n);//投影到绘图坐标
	}//结束for
	setcolor(color);//曲线颜色
	for(j=0;j<90.0;j++)//
	{
		line(p1[j].m,p1[j].n,p1[j+1].m,p1[j+1].n);//
	}//结束for	
}//结束子函数
void draw_polar_x()//绘制极坐标方向图(θ方向图)
{
	double nuo;
	func_fm(&fm);//fmax
	double dis=150.0;//
	double scale1=dis/fm;//极坐标比例	
	DPOINT *p1;//
	DPOINT *p2;//
	DPOINT *p3;//
	p1=new DPOINT[10000];//
	p2=new DPOINT[10000];//
	p3=new DPOINT[10000];//
	for(j=0;j<=180.0;j++)//xt的取值
	{
		//1.获得点表-------------------------------		
		func_fxt(j*PI/180.0,&nuo);
		p1[j].x=scale1*fabs(nuo)*cos(j*PI/180.0);
		p1[j].y=scale1*fabs(nuo)*sin(j*PI/180.0);
		p1[j].x=x_1a+p1[j].x;
		p1[j].y=y_1a-p1[j].y;
		//2.极坐标辅助线
		p2[j].x=dis*cos(j*PI/180.0);p2[j].x=x_1a+p2[j].x;
		p2[j].y=dis*sin(j*PI/180.0);p2[j].y=y_1a-p2[j].y;
		p3[j].x=0.5*dis*cos(j*PI/180.0);p3[j].x=x_1a+p3[j].x;
		p3[j].y=0.5*dis*sin(j*PI/180.0);p3[j].y=y_1a-p3[j].y;
	}//结束for
	//[θ方向示意图标线]------------------------
	setcolor(c1);
	for(j=0;j<180.0;j++)//极坐标辅助线
	{		
		line(p2[j].x,p2[j].y,p2[j+1].x,p2[j+1].y);//
		line(p3[j].x,p3[j].y,p3[j+1].x,p3[j+1].y);//
	}//结束for
	for(j=0;j<=180.0;j++)//极坐标辅助线
	{		
		if(j%30 ==0){line(x_1a,y_1a,p2[j].x,p2[j].y);}//
	}//结束for
	setcolor(cc2);//F(θ)
	for(j=0;j<180.0;j++)//
	{
		line(p1[j].x,p1[j].y,p1[j+1].x,p1[j+1].y);//
	}//结束for	
	setcolor(c3);setfont(12,0,"黑体");//
	outtextxy(x_1+10,y_1+10,"[E面方向图:归一化F(θ)]");//
	outtextxy(x_1a+150,y_1a,"θ=0");//(θ=0)
	outtextxy(x_1a,y_1a-180,"θ=90");//(θ=90)
	outtextxy(x_1a-180,y_1a,"θ=180");//(θ=180)
	//绘制当前θ点位置
	DPOINT pc1;//
	func_fxt(d13_r,&nuo);//
	pc1.x=scale1*fabs(nuo)*cos(d13_r);pc1.x=x_1a+pc1.x;//
	pc1.y=scale1*fabs(nuo)*sin(d13_r);pc1.y=y_1a-pc1.y;//
	cross1(pc1.x,pc1.y,5,c3);//
	line(x_1a,y_1a,pc1.x,pc1.y);//
}//结束子函数
void draw_polar_f()//绘制极坐标方向图(Φ方向图)
{
	double d1=75.0;//极坐标距离		
	DPOINT *p2;//
	p2=new DPOINT[10000];//
	for(j=0;j<=360.0;j++)//xt的取值
	{
		//1.获得点表-------------------------------
		p2[j].x=d1*cos(j*PI/180.0);
		p2[j].y=d1*sin(j*PI/180.0);
		p2[j].x=x_2a+p2[j].x;
		p2[j].y=y_2a-p2[j].y;
	}//结束for
	setcolor(cc1);//曲线颜色
	for(j=0;j<360.0;j++)//
	{
		line(p2[j].x,p2[j].y,p2[j+1].x,p2[j+1].y);//
	}//结束for
	//[Φ方向示意图标线]------------------------
	setcolor(c1);
	line(x_2a-100,y_2a,x_2a+100,y_2a);//(Φ=0,180)
	line(x_2a,y_2a-100,x_2a,y_2a+100);//(Φ=90,270)
	setcolor(c3);//
	setfont(12,0,"黑体");
	outtextxy(x_2+10,y_2+10,"[H面方向图:Φ]");//
	outtextxy(x_2a+100,y_2a,"Φ=0");//(Φ=0)
	outtextxy(x_2a,y_2a-100,"Φ=90");//(Φ=90)
	outtextxy(x_2a-150,y_2a,"Φ=180");//(Φ=180)
	outtextxy(x_2a,y_2a+100,"Φ=270");//(Φ=270)
}//结束子函数
void dline(DPOINT x1,DPOINT x2,double cc)//根据两点和颜色绘制线段(辅助线和轮廓线)
{
	setcolor(cc);//画线颜色
	line(x1.x,x1.y,x2.x,x2.y);//
	setcolor(c3);//恢复颜色
}//结束子函数
void draw_pt()//绘制点位
{
	setfont(12,0,"宋体");//
	//[pt1点][观察点]----------------------------------------------------------
	pt1.x=300.0*sin(d13_r)*cos(fi_r*PI/180.0);
	pt1.y=300.0*sin(d13_r)*sin(fi_r*PI/180.0);
	pt1.z=300.0*cos(d13_r);//
	func_P(pt1.x,pt1.y,pt1.z,&pt1a.x,&pt1a.y);//
	cross2(pt1a.x,pt1a.y,5,cc1);//
	outtextxy(pt1a.x-5,pt1a.y+5,"pt1");//写控件字符串
	//[pt2点][观察点所在子午面与赤道面的交点]----------------------------------
	pt2.x=300.0*cos(fi_r*PI/180.0);
	pt2.y=300.0*sin(fi_r*PI/180.0);
	pt2.z=0.0;//
	func_P(pt2.x,pt2.y,pt2.z,&pt2a.x,&pt2a.y);//
	cross2(pt2a.x,pt2a.y,5,cc1);//
	outtextxy(pt2a.x-5,pt2a.y+5,"pt2");//写控件字符串
	//[pt3点][观察点所在赤平面与yoz面的交点]----------------------------------
	pt3.x=0.0;//
	pt3.y=300.0*sin(d13_r);//
	pt3.z=300.0*cos(d13_r);//
	func_P(pt3.x,pt3.y,pt3.z,&pt3a.x,&pt3a.y);//
	cross2(pt3a.x,pt3a.y,5,cc1);//
	outtextxy(pt3a.x-5,pt3a.y+5,"pt3");//写控件字符串
	//[pt4点][观察点所在赤平面与xoz面的交点]----------------------------------
	pt4.x=300.0*sin(d13_r);//
	pt4.y=0.0;
	pt4.z=300.0*cos(d13_r);//
	func_P(pt4.x,pt4.y,pt4.z,&pt4a.x,&pt4a.y);//
	cross2(pt4a.x,pt4a.y,5,cc1);//
	outtextxy(pt4a.x-5,pt4a.y+5,"pt4");//写控件字符串
	//[pt5点][观察点在xoy面的投影点]----------------------------------
	pt5.x=pt1.x;pt5.y=pt1.y;pt5.z=0;//
	func_P(pt5.x,pt5.y,pt5.z,&pt5a.x,&pt5a.y);//
	cross2(pt5a.x,pt5a.y,5,cc1);//
	outtextxy(pt5a.x-5,pt5a.y+5,"pt5");//写控件字符串
	//[pt6点][观察点在yoz面的投影点]----------------------------------
	pt6.x=0;pt6.y=pt1.y;pt6.z=pt1.z;//
	func_P(pt6.x,pt6.y,pt6.z,&pt6a.x,&pt6a.y);//
	cross2(pt6a.x,pt6a.y,5,cc1);//
	outtextxy(pt6a.x-5,pt6a.y+5,"pt6");//写控件字符串
	//[pt7点][观察点在xoz面的投影点]----------------------------------
	pt7.x=pt1.x;pt7.y=0;pt7.z=pt1.z;//
	func_P(pt7.x,pt7.y,pt7.z,&pt7a.x,&pt7a.y);//
	cross2(pt7a.x,pt7a.y,5,cc1);//
	outtextxy(pt7a.x-5,pt7a.y+5,"pt7");//写控件字符串
	//[pt8点][观察点在x轴的投影点]----------------------------------
	pt8.x=pt1.x;pt8.y=0;pt8.z=0;//
	func_P(pt8.x,pt8.y,pt8.z,&pt8a.x,&pt8a.y);//
	cross2(pt8a.x,pt8a.y,5,cc1);//
	outtextxy(pt8a.x-5,pt8a.y+5,"pt8");//写控件字符串
	//[pt9点][观察点在y轴的投影点]----------------------------------
	pt9.x=0;pt9.y=pt1.y;pt9.z=0;//
	func_P(pt9.x,pt9.y,pt9.z,&pt9a.x,&pt9a.y);//
	cross2(pt9a.x,pt9a.y,5,cc1);//
	outtextxy(pt9a.x-5,pt9a.y+5,"pt9");//写控件字符串
	//[pt10点][观察点在z轴的投影点]----------------------------------
	pt10.x=0;pt10.y=0;pt10.z=pt1.z;//
	func_P(pt10.x,pt10.y,pt10.z,&pt10a.x,&pt10a.y);//
	cross2(pt10a.x,pt10a.y,5,cc1);//
	outtextxy(pt10a.x-5,pt10a.y+5,"pt10");//写控件字符串
	//[pt11点][原点投影点]-------------------------------------------
	pt11.x=0;pt11.y=0;pt11.z=0;//
	func_P(pt11.x,pt11.y,pt11.z,&pt11a.x,&pt11a.y);//
	//[pt12点][赤道平行面切向点][磁场矢量(Φ方向)]--------------------------------------
	double dis=100.0;//
	pt12.x=pt1.x-dis*sin(fi_r*PI/180.0);//
	pt12.y=pt1.y+dis*cos(fi_r*PI/180.0);//
	pt12.z=pt1.z;//
	func_P(pt12.x,pt12.y,pt12.z,&pt12a.x,&pt12a.y);//
	//[pt13点][子午面切向点][电场矢量(θ方向)]-------------------------------------------
	pt13.x=pt1.x+dis*cos(d13_r)*cos(fi_r*PI/180.0);//
	pt13.y=pt1.y+dis*cos(d13_r)*sin(fi_r*PI/180.0);//
	pt13.z=pt1.z-dis*sin(d13_r);//
	func_P(pt13.x,pt13.y,pt13.z,&pt13a.x,&pt13a.y);//
	//[pt14点][径向方向点][坡印廷矢量(r方向传播方向)]-------------------------------------
	pt14.x=pt1.x+dis*sin(d13_r)*cos(fi_r*PI/180.0);//
	pt14.y=pt1.y+dis*sin(d13_r)*sin(fi_r*PI/180.0);//
	pt14.z=pt1.z+dis*cos(d13_r);//
	func_P(pt14.x,pt14.y,pt14.z,&pt14a.x,&pt14a.y);//
}//完成点位子函数
void draw_ol()//绘制轮廓线
{
	dline(pt1a,pt5a,c2);//
	dline(pt1a,pt6a,c2);//
	dline(pt1a,pt7a,c2);//
	dline(pt4a,pt10a,c2);//
	dline(pt6a,pt9a,c2);//
	dline(pt7a,pt8a,c2);//
	dline(pt3a,pt10a,c2);//
	dline(pt8a,pt5a,c2);//
	dline(pt5a,pt9a,c2);//
	dline(pt11a,pt1a,c2);//
	dline(pt11a,pt2a,c2);//
	dline(pt10a,pt1a,c2);//
    //电磁场矢量--------------------------------------
	dline(pt12a,pt1a,cc1);//磁场矢量(Φ方向)
	dline(pt13a,pt1a,cc2);//电场矢量(θ方向)
	dline(pt14a,pt1a,cc3);//坡印廷矢量(r方向传播方向)
}//结束子函数
void func_fxt(double xt,double *fx)//计算方向性函数F(θ)的值
{
	if(xt == 0.0){*fx=0.0;}//
	else{*fx=1.0*(cos(d8*d1*cos(xt))-cos(d8*d1))/sin(xt);}//
}//结束子函数
void func_fm(double *fm)//计算方向性函数F(θ)的fmax值
{
	*fm=0.0;//初始化为0
	double v1,v2;//
	for(j=0;j<=180.0;j=j+1)//角度范围//
	{
		func_fxt(j*PI/180.0,&v1);//F(θ)
		v2=fabs(v1);//
		if(*fm <= v2) {*fm=v2;}//
	}//结束for
}//结束子函数
void func_integral_f(double *fss)//计算方向性函数F(θ)的积分值
{
	//∫(0,π)[F(θ)*F(θ)*sin(θ)]d(θ)
	*fss=0.0;//初始化为0
	double v1,v2,v3;//
	for(j=0;j<=180.0;j=j+1)//角度范围//
	{
		func_fxt(j*PI/180.0,&v1);//F(θ)
		v2=v1*v1*sin(j*PI/180.0);//
		v3=v2*(PI/180.0);//小矩形面积
		*fss=(*fss)+v3;//累计到总面积
	}//结束for
}//结束子函数
//*/
//--------------------------------------------------------------------------------------------------

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值