亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fadlg.cpp

?? 實時比例導引三維彈道仿真(VC&Matlab混編).
?? CPP
字號:
// FaDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Fa.h"
#include "FaDlg.h"
#include  "math.h"
#include "dandao.hpp"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define socklen_t int
//#pragma comment(lib,"wsock32.lib") 

/////////////////////////////////////////////////////////////////////////////
// CFaDlg dialog
rcdaodan   daodan1;
rctbm    target; 
vtindex vt_index;  
int	n=0;

CFaDlg::CFaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CFaDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFaDlg)
	m_dt1 = 0.0f;
	m_tx1 = 0.0f;
	m_ty1 = 0.0f;
	m_tz1 = 0.0f;
	m_tp1 = 0.0f;
	m_th1 = 0.0f;
	m_mx1 = 0.0f;
	m_my1 = 0.0f;
	m_mz1 = 0.0f;
	m_mp1 = 0.0f;
	m_mh1 = 0.0f;

	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	
	libmmfileInitialize();
	libmwsglmInitialize();
	mlfHGInitialize(NULL,NULL);
}

void CFaDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFaDlg)
//	DDX_Control(pDX, IDC_PORT, m_port);
//	DDX_Control(pDX, IDC_LIST2, m_list);
//	DDX_Control(pDX, IDC_EDIT_ADDRESS, m_address);
	DDX_Text(pDX, IDC_EDIT_tx, m_tx1);
	DDX_Text(pDX, IDC_EDIT_ty, m_ty1);
	DDX_Text(pDX, IDC_EDIT_tz, m_tz1);
	DDX_Text(pDX, IDC_EDIT_tp, m_tp1);
	DDX_Text(pDX, IDC_EDIT_th, m_th1);
	DDX_Text(pDX, IDC_EDIT_mx, m_mx1);
	DDX_Text(pDX, IDC_EDIT_my, m_my1);
	DDX_Text(pDX, IDC_EDIT_mz, m_mz1);
	DDX_Text(pDX, IDC_EDIT_mp, m_mp1);
	DDX_Text(pDX, IDC_EDIT_mh, m_mh1);
	DDX_Text(pDX, IDC_EDIT_dt, m_dt1);

	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CFaDlg, CDialog)
	//{{AFX_MSG_MAP(CFaDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_SEND, OnButtonSend)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_BUTTON_DD, OnButtonDd)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_BTN_3d, OnBTN3d)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFaDlg message handlers

BOOL CFaDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	

	GenAxis2();
	CWnd * pWndMatlabFrame=GetDlgItem(IDC_PLOT);
	DockMatlabFigure(m_mwhFigure,pWndMatlabFrame);
	mlfHGWaitForFiguresToDie();
	view(m_mwhAxis,-24,24);

	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CFaDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CFaDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

//DEL bool CFaDlg::Listen(int PortNum)
//DEL {
//DEL 	ListenSocket=socket(PF_INET,SOCK_DGRAM,0);
//DEL 	if(ListenSocket==INVALID_SOCKET)
//DEL 	{
//DEL 		AfxMessageBox("Error:Socket創建失??!");
//DEL 		return false;
//DEL 	}
//DEL 
//DEL 	srv.sin_family = PF_INET;
//DEL 	srv.sin_addr.s_addr=htonl(INADDR_ANY);
//DEL 	srv.sin_port = htons(PortNum);
//DEL 
//DEL 	if(bind(ListenSocket,(struct sockaddr *)&srv,sizeof(srv))!=0)
//DEL 	{
//DEL 		AfxMessageBox("Error:Socket綁定失?。?quot;);
//DEL 		closesocket(ListenSocket);
//DEL 		return false;
//DEL 
//DEL 	}
//DEL 	int ThreadID;	// 線程id
//DEL 
//DEL 	DWORD thread;
//DEL 	//調用createthread創建線程
//DEL 	ThreadID = (int)CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ListenThread, (void *)this, 0, &thread);
//DEL 	ThreadID = ThreadID ? 0 : 1;	// 如果成功,則返回為0
//DEL 
//DEL 	if(ThreadID)	// ThreadID如果不為0,則線程創建失敗
//DEL 	{
//DEL 		AfxMessageBox("Error:線程創建失敗!");
//DEL 		return false;
//DEL 	}
//DEL 	else
//DEL 
//DEL 	return true;
//DEL }


//DEL void *CFaDlg::ListenThread(void *data)
//DEL {
//DEL 	char buf1[4096];
//DEL 	CString str;
//DEL 	CFaDlg *Comm = (CFaDlg *)data;
//DEL 	int len = sizeof(Comm->client);
//DEL 	while(1)	// 一直循環
//DEL 	{
//DEL 		//接收數據
//DEL 		int result = recvfrom( Comm->ListenSocket, buf1, sizeof(buf1)-1, 0, (sockaddr *)&Comm->client, (socklen_t *)&len);
//DEL 		if ( result > 0 )
//DEL 		{
//DEL 			memcpy(&daodan1,buf1,sizeof(daodan1));
//DEL 			//buf1[result] = 0;
//DEL 
//DEL 			str.Format("IP:%s(port:%f)>%s",inet_ntoa(Comm->client.sin_addr),ntohs(Comm->client.sin_port),daodan1.a);
//DEL 			Comm->m_list.AddString(str);
//DEL 
//DEL 		}	
//DEL 	}
//DEL 
//DEL 
//DEL }

void CFaDlg::OnButtonSend() 
{
// TODO: Add your command handler code here
	UpdateData(TRUE);
//	m_address.GetWindowText(buf,40);//IP
//	m_port.GetWindowText(port,40);
	in_vm=dlg_cssd.m_vm;
	in_vt=dlg_cssd.m_vt;
	in_dt=dlg_cssd.m_dt;
	vt_index.revt=10;
	if (dlg_cssd.m_vt>0)
	{
		vt_index.m=0;
	}
	else vt_index.m=1;
	
//	SendMsg((char*)&vt_index,sizeof(vt_index)+1,buf,atoi(port));
	in_m=dlg_cssd.m_m;
	in_tp=dlg_cssd.m_p;
	in_th=dlg_cssd.m_h;
	in_tx=dlg_cssd.m_tx;
	in_ty=dlg_cssd.m_ty;
	in_tz=dlg_cssd.m_tz;
	in_mx=0;
	in_my=0;
	in_mz=0;
	dout_r=sqrt((dlg_cssd.m_tx)*(dlg_cssd.m_tx)+(dlg_cssd.m_ty)*(dlg_cssd.m_ty)+(dlg_cssd.m_tz)*(dlg_cssd.m_tz));

	  SetTimer(1,0.01,NULL);	
	   
	
}
//DEL bool CFaDlg::SendMsg(char *Msg,int Len,char *host,short port)
//DEL {
//DEL 	signed int Sent;
//DEL 	hostent *hostdata;
//DEL 	if ( atoi(host) )	// 是否IP地址為標準形式
//DEL 	{
//DEL 		u_long ip = inet_addr( host );
//DEL 		hostdata = gethostbyaddr( (char *)&ip, sizeof(ip), PF_INET );
//DEL 	}
//DEL 	else	// 否則則可能是機器名
//DEL 	{
//DEL 		hostdata = gethostbyname( host );
//DEL 	}
//DEL 
//DEL 	if ( !hostdata )
//DEL 	{
//DEL 		AfxMessageBox("獲得機器名錯誤");
//DEL 		return false;
//DEL 	}
//DEL 
//DEL 	sockaddr_in dest;	// 發送目標地址
//DEL 	dest.sin_family = PF_INET;
//DEL 	dest.sin_addr = *(in_addr *)(hostdata->h_addr_list[0]);
//DEL 	dest.sin_port = htons( port );
//DEL 	CString str1;
//DEL 	str1.Format("數據已經被發送到主機 %s 端口為 %i\n", inet_ntoa(dest.sin_addr), ntohs(dest.sin_port));
//DEL 
//DEL //
//DEL //	SendMsg(buffer,strlen(buffer),buf,200);
//DEL 	m_list.AddString(str1);
//DEL 	//數據發送
//DEL 	Sent = sendto(ListenSocket, Msg, Len+1, 0, (sockaddr *)&dest, sizeof(sockaddr_in));
//DEL 	
//DEL 	if ( Sent != Len+1 )
//DEL 	{
//DEL 		AfxMessageBox("錯誤發送UDP信息");
//DEL 
//DEL 		return false;
//DEL 	}
//DEL     return true;
//DEL }

void CFaDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	
	if (nIDEvent==1)
	{
		if (dout_r>=30)
		{
			UpdateData(TRUE);
			n=n+1;

			DrawLine2();
			m_dt1=daodan1.dn=n*0.01;
			m_mx1=daodan1.x=dout_my;
			m_my1=daodan1.y=dout_mx;
			m_mz1=daodan1.z=dout_mz;
			m_mp1=daodan1.a=dout_mp*180/3.14;
			m_mh1=daodan1.b=dout_mh*180/3.14;
			daodan1.r=dout_r;
        
			m_tx1=target.x=dout_ty;
			m_ty1=target.y=dout_tx;		
			m_tz1=target.z=dout_tz;
			m_tp1=target.a=dlg_cssd.m_p;
			m_th1=target.b=dlg_cssd.m_h;

			UpdateData(FALSE);

		}
		else 	KillTimer(1);
		

		
	}
	CDialog::OnTimer(nIDEvent);
}




void CFaDlg::OnButtonDd() 
{
	// TODO: Add your control notification handler code here
	dlg_cssd.DoModal();
}

void CFaDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	
	// TODO: Add your message handler code here
	mlfHGTerminate();
	libmmfileTerminate();
	libmwsglmTerminate();
}



void CFaDlg::DrawLine2()
{	
	//調用dandao.m函數,這里的輸入值和輸出值與dandao.m函數相對應
	out_tx=dandao(&out_ty,&out_tz,&out_mx,&out_my,&out_mz,&out_mp,&out_mh,&out_r,
		in_tx,in_ty,in_tz,in_tp,in_th,in_mx,in_my,in_mz,in_vm,in_vt,in_dt,in_m);

	//從mwArray型中取出double類型數據
	dout_tx=out_tx.ExtractScalar(1);
	dout_ty=out_ty.ExtractScalar(1);
	dout_tz=out_tz.ExtractScalar(1);
	dout_mx=out_mx.ExtractScalar(1);
	dout_my=out_my.ExtractScalar(1);
	dout_mz=out_mz.ExtractScalar(1);
	dout_mp=out_mp.ExtractScalar(1);
	dout_mh=out_mh.ExtractScalar(1);
	dout_r=out_r.ExtractScalar(1);

	//調用line函數以打點方式繪制彈目的當前坐標
	m_hMissile=line("xdata",dout_my,"ydata",dout_mx,"zdata",dout_mz,
		"visible","on","parent",m_mwhAxis,"color","b");
	m_hTarget=line("xdata",dout_ty,"ydata",dout_tx,"zdata",dout_tz,
		"visible","on","parent",m_mwhAxis,"color","r");
	
	//保留當前圖上子對象和所有屬性不變,等待下一組數據
	Vset(m_mwhAxis,"NextPlot","add");
	
	//將輸出值賦給輸入值,進行迭代
	in_tx=out_tx;
	in_ty=out_ty;
	in_tz=out_tz;
	in_mx=out_mx;
	in_my=out_my;
	in_mz=out_mz;	
}


void CFaDlg::GenAxis2()
{
	double BKColor[]={0.925,0.914,0.847};
	mwArray mwBkColor(1,3,BKColor);
	m_mwhFigure = figure(
		mwArray("DoubleBuffer"), mwArray("On"),
		mwArray("NumberTitle"),  mwArray("Off"),
		mwArray("Name"),         mwArray("__figure"),
		mwArray("Color"),        mwBkColor,
		mwArray("Visible"),      mwArray("off"),
		mwArray("MenuBar"),      mwArray("none")
		);

	    m_mwhAxis= axes(mwArray("Parent"),      m_mwhFigure,
		mwArray("Box"),         mwArray("On"),
		mwArray("XGrid"),       mwArray("On"),
		mwArray("YGrid"),       mwArray("On"),
		mwArray("zGrid"),       mwArray("On"));
	mwArray xLabel=get(m_mwhAxis,"xlabel");
	mwArray yLabel=get(m_mwhAxis,"ylabel");
	mwArray zLabel=get(m_mwhAxis,"zlabel");
	set(xLabel,"string","X/米","fontsize",8);
	set(yLabel,"string","Y/米","fontsize",8);
	set(zLabel,"string","Z/米","fontsize",8);

	m_hMissile=line("xdata",0,"ydata",0,"zdata",0,"visible","off","parent",m_mwhAxis);
	m_hTarget=line("xdata",0,"ydata",0,"zdata",0,"visible","off","parent",m_mwhAxis);
    Vset(m_mwhAxis,"NextPlot","add");//hold on
}

void CFaDlg::DockMatlabFigure(mwArray mwhFigure,CWnd *pParentWnd)
{
	
	mwArray mwFigName=get(mwhFigure,mwArray("name"));
	char *pCharFigureName=strdup((char*)(mwFigName.ToString()));
	HWND hFig = ::FindWindow(NULL,pCharFigureName);
	if(hFig == NULL)
	{
		AfxMessageBox("未能產生Figure窗口,圖形繪制失?。?quot;);
		return;
	}

		// 去掉Figure窗口的標題欄和邊框
		long lStyle = ::GetWindowLong(hFig,GWL_STYLE);
		::SetWindowLong(hFig,GWL_STYLE,lStyle & (~WS_CAPTION) & (~WS_THICKFRAME));
	    ::SetWindowPos(hFig,NULL,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);

		// 獲取繪圖區域的位置和大小
	long lOldStyle = ::GetWindowLong(hFig, GWL_STYLE);
	long lNewStyle = lOldStyle & (~WS_OVERLAPPEDWINDOW) | WS_CHILD;
	::SetWindowLong(hFig, GWL_STYLE, lNewStyle);
	// 獲取繪圖區域的位置和大小
	RECT PlotRect;
	CWnd *pWndPlotArea = GetDlgItem(IDC_PLOT);
	pWndPlotArea->GetWindowRect(&PlotRect);
	ScreenToClient(&PlotRect);

	// 設置Figure窗口為對話框窗口的子窗口并調整其位置
	CWnd *pWndFig = CWnd::FromHandle(hFig);
	pWndFig->SetParent(this);
	pWndFig->MoveWindow(&PlotRect);
	
	
//	DrawLine();
	// 設置窗口可見
	pWndFig->ShowWindow(SW_SHOW);
//	MakeMatlabFiguresVisible();
	//	rotate3d(m_mwhAxis,"on");
	// 刷新窗口
//	mlfDrawnow(NULL);
}



void CFaDlg::OnBTN3d() 
{
	// TODO: Add your control notification handler code here
	rotate3d(m_mwhAxis,"on");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区电影| ...xxx性欧美| 亚洲女同女同女同女同女同69| 亚洲第一成人在线| aaa亚洲精品| 久久久久久久综合| 午夜久久久影院| 99精品黄色片免费大全| 日韩色在线观看| 夜夜嗨av一区二区三区网页| 成人国产亚洲欧美成人综合网| 欧美一区二区性放荡片| 亚洲综合久久久| 91免费小视频| 国产欧美日韩久久| 美腿丝袜亚洲三区| 欧美日产在线观看| 亚洲综合男人的天堂| 色综合久久久久久久| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩国产精品久久久久久亚洲| 91免费国产在线观看| 欧美国产一区在线| 国产成人高清视频| 久久这里都是精品| 麻豆91在线播放免费| 亚洲欧美一区二区三区国产精品| 国产91对白在线观看九色| 日韩三级中文字幕| 免费视频最近日韩| 欧美一卡二卡在线观看| 天堂久久久久va久久久久| 欧美午夜精品一区二区三区| 一区二区三区美女视频| 91免费国产视频网站| 亚洲人成伊人成综合网小说| 一本一道久久a久久精品 | 99国内精品久久| 国产精品国产三级国产aⅴ原创 | 成人免费视频免费观看| 国产亚洲自拍一区| 国产不卡视频一区| 中文字幕亚洲欧美在线不卡| 色综合天天综合| 一区2区3区在线看| 制服丝袜亚洲网站| 精品伊人久久久久7777人| 国产嫩草影院久久久久| 91在线免费播放| 首页国产欧美久久| 欧美成人综合网站| 国产成人自拍在线| 亚洲美腿欧美偷拍| 欧美乱妇20p| 国产麻豆精品视频| 亚洲人123区| 欧美一级理论片| 国产精品主播直播| 亚洲黄色免费电影| 日韩女优视频免费观看| 国产成人免费av在线| 亚洲线精品一区二区三区| 欧美成人欧美edvon| 成人精品视频一区二区三区| 亚洲午夜影视影院在线观看| 日韩精品一区二区三区老鸭窝| 国产一区二区在线观看视频| 亚洲人一二三区| 69久久夜色精品国产69蝌蚪网| 国产成人午夜99999| 亚洲综合在线视频| 精品久久久久香蕉网| 色88888久久久久久影院按摩| 久久国产精品99久久久久久老狼| 国产精品无遮挡| 欧美一区二区在线视频| 91视频在线看| 91精品婷婷国产综合久久| 国产大陆a不卡| 日韩av电影天堂| ●精品国产综合乱码久久久久| 欧美一级免费大片| 91免费精品国自产拍在线不卡 | 日本最新不卡在线| 中文字幕在线一区免费| 欧美r级电影在线观看| 色婷婷久久99综合精品jk白丝| 国产在线一区观看| 石原莉奈一区二区三区在线观看 | 99久久婷婷国产综合精品电影| 日本成人在线电影网| 亚洲精选视频免费看| 日本一区二区三区在线观看| 欧美一区二区三区在线观看视频| 成人黄色综合网站| 国产激情一区二区三区| 六月丁香综合在线视频| 午夜不卡av在线| 亚洲一区二区三区在线看| 国产精品麻豆视频| 国产欧美一区二区精品仙草咪| 日韩久久免费av| 欧美日韩亚洲综合在线 | 久久青草国产手机看片福利盒子| 欧美精品1区2区| 欧美视频在线不卡| 色天使色偷偷av一区二区| 99精品欧美一区| www.亚洲激情.com| 成人av午夜电影| www.亚洲精品| 91在线国产福利| 一本色道亚洲精品aⅴ| a亚洲天堂av| 91在线国产福利| 色一区在线观看| 在线免费不卡视频| 欧美日韩日日摸| 91精品婷婷国产综合久久竹菊| 欧美疯狂做受xxxx富婆| 91精品国产综合久久香蕉麻豆 | 亚洲色图色小说| 自拍偷拍欧美激情| 一区二区久久久| 亚洲国产日韩在线一区模特| 首页国产欧美久久| 奇米888四色在线精品| 激情五月婷婷综合| 国产精品一区二区三区网站| 日韩午夜av一区| 日韩欧美一区二区久久婷婷| 精品美女在线观看| 中文字幕av在线一区二区三区| 亚洲欧洲av在线| 亚洲午夜电影网| 裸体健美xxxx欧美裸体表演| 国产成a人亚洲精| 99视频在线观看一区三区| 在线观看成人免费视频| 欧美一区二区三区成人| 国产婷婷色一区二区三区四区| 国产精品女人毛片| 亚洲成人免费在线观看| 国模冰冰炮一区二区| 成人免费不卡视频| 欧美日韩一级视频| 欧美精品一区二区在线播放| 亚洲三级在线免费观看| 日韩av一区二区在线影视| 国产成a人亚洲精| 欧美日韩国产一级| 久久精品亚洲一区二区三区浴池| 亚洲欧美日韩一区| 久久精品国产亚洲a| 91亚洲精品久久久蜜桃| 日韩欧美国产wwwww| 亚洲视频在线观看一区| 老司机精品视频线观看86| 色系网站成人免费| 久久奇米777| 日韩国产精品久久久久久亚洲| 丁香婷婷深情五月亚洲| 欧美一区二区三区成人| 亚洲精品乱码久久久久久久久 | 99久久精品免费看国产| 欧美老年两性高潮| 国产精品的网站| 久久99深爱久久99精品| 91黄色免费版| 中文字幕精品三区| 美女视频一区二区三区| 欧美日韩在线一区二区| 欧美激情在线一区二区| 麻豆精品精品国产自在97香蕉 | 午夜不卡av免费| 91原创在线视频| 久久综合九色综合欧美亚洲| 亚洲成av人影院| 久久久久久免费网| 日韩精品成人一区二区在线| 欧美性猛片xxxx免费看久爱| 中文字幕精品三区| 国产精品99久久久久久似苏梦涵| 日韩视频在线观看一区二区| 亚洲福中文字幕伊人影院| www.亚洲国产| 国产精品看片你懂得| 国产精品2024| 久久久91精品国产一区二区精品| 奇米四色…亚洲| 欧美福利一区二区| 亚洲一区二区三区爽爽爽爽爽| 99久久精品免费看国产| 中文字幕制服丝袜成人av| 成人av在线播放网址| 国产精品网站一区| 成人a区在线观看| 日韩美女啊v在线免费观看| 不卡av在线网| 成人欧美一区二区三区视频网页|