<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                一、 有關“法線角(的弧度值)”的計算方法(核心代碼): ``` double FaXianjiao(double A, double x, double y) { double faXianjiao = acos((x - Apianyi_X500) / halfA); if (y < Bpianyi_Y300) { faXianjiao = -faXianjiao; } return faXianjiao; }//FaXianjiao //法線角,取原始法線反方向+Pild(+180度)后的法線角 double FaXian180jiao(double A, double x, double y) { double faXianjiao = acos((x - Apianyi_X500) / halfA); if (y < Bpianyi_Y300) { faXianjiao = -faXianjiao; } return Pild+faXianjiao; }//double FaXian180jiao ``` 二、有關“反射角計算”的核心代碼: 變量 arc1先為“入射角”的弧度值: ` cou05Angle1 << "[先顯示入射角:" << arc1*180/Pild << "]:"; cou05Angle1 <<"(此時)法線角:" << tmpfaXianjiao*180/Pild << "]"; //小角等于: double arc_little1 = (Pild + arc1); cou05Angle1 << "[入射角轉成小角(小于90度正角):" << arc_little1*180/Pild << "]"; double jia_faXian_jiao = tmpfaXianjiao - arc_little1; cou05Angle1 << "[算出與法線夾角(小于90度正角與法線夾角):" << jia_faXian_jiao*180/Pild << "]_"; double newArc1 = (tmpfaXianjiao + 1.0*jia_faXian_jiao); cou05Angle1 << "[法線+1倍的 夾角:" << newArc1*180/Pild << "],"; // arc1 = newArc1; cou05Angle1 << "【反射角:" << arc1 << "】;" << endl; //簡化步驟: // arc1 = tmpfaXianjiao + (tmpfaXianjiao - (Pild + arc1)); //再化簡: arc1 = 2.0*tmpfaXianjiao - arc1 - Pild; ` 經過 (與法線角相交) 計算: arc1 變量 存儲 了 “反射角”(的弧度值)! 三、 ![](https://box.kancloud.cn/0a38418fe16287524eeb888ba98a7e9f_1028x758.jpg) 四、核心(較完整)代碼如下: ``` //核心(較完整)代碼如下: // oneEllipse18WinPro1225a1.cpp : 定義應用程序的入口點。 #include "stdafx.h" #include "oneEllipse18WinPro1225a1.h" #include <iostream> #include <fstream> //#include <math.h> #include <iomanip> using namespace std; #define MAX_LOADSTRING 100 // 全局變量: //浮點數計PI(π): long double Pild = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196; HINSTANCE hInst; // 當前實例 WCHAR szTitle[MAX_LOADSTRING]; // 標題欄文本 WCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口類名 ofstream cou02t; ofstream cou03t; ofstream cou04t; ofstream cou05Angle1; int Y_high700 = 700; int R400 = 400; //橢圓參數 int Apianyi_X500 = 500; int Bpianyi_Y300 = 300; int Llength = 1000; double halfA = Llength / 2; double halfLittleF400 = 400; double halfB0_2 = halfA * halfA - halfLittleF400 * halfLittleF400; double halfB = sqrtf(halfB0_2); //cout << "[halfA:" << halfA << "]" << std::endl; //cout << "[halfLittleF:" << halfLittleF400 << "]" << std::endl; //cout << "[halfB:" << halfB << "]" << std::endl; //橢圓參數end // 此代碼模塊中包含的函數的前向聲明: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: 在此處放置代碼。 //調用Console控制臺 AllocConsole(); #pragma warning(disable:4996) _tfreopen(TEXT("CONOUT$"), TEXT("w"), stdout); _tfreopen(TEXT("CONOUT$"), TEXT("w"), stderr); _tfreopen(TEXT("CONIN$"), TEXT("r"), stdin); #pragma warning(default:4996) _tsetlocale(LC_ALL, TEXT("chs")); // cout << setprecision(99) << Pild << endl; // 初始化全局字符串 LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_ONEELLIPSE18WINPRO1225A1, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // 執行應用程序初始化: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_ONEELLIPSE18WINPRO1225A1)); MSG msg; // 主消息循環: while (GetMessage(&msg, nullptr, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int) msg.wParam; } // // 函數: MyRegisterClass() // // 目標: 注冊窗口類。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ONEELLIPSE18WINPRO1225A1)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_ONEELLIPSE18WINPRO1225A1); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassExW(&wcex); } //畫點: void setpixe01(HDC hdc, int x, int y, COLORREF rgb1) { SetPixel(hdc, x, Y_high700 - y, rgb1); } //MoveTo: void move01to(HDC hdc, int x, int y) { MoveToEx(hdc, x, Y_high700 - y, NULL); } //畫線: void line01to(HDC hdc, int x, int y, COLORREF rgb1) { LineTo(hdc, x, Y_high700-y); } // //畫普通角度 的線(比如法線): void line01Normal01light(HDC hdc, double arc, int R,int x0, int y0, COLORREF rgb1) { for (int i = 0; i < R; ++i) { double x_origin = i * cos(arc); double y_origin = i * sin(arc); double x = x_origin +x0; // +Apianyi_X500; double y = y_origin +y0; // Bpianyi_Y300 + y_origin; setpixe01(hdc, x, y, rgb1); } }//line01Normal01light //專畫切線 //專畫切線,且返回切線角 double drawTangent(HDC hdc, double arc1, int x0, int y0, COLORREF rgb1) { double x_origin=0; for (int i = 0; i < R400; ++i) { //double x_origin = -sin(arc1) ; double y_origin = cos(arc1); double x_d = x_origin * i +x0; double y_d = y_origin * i+y0; setpixe01(hdc,x_d, y_d, rgb1); } double qieXianjiao = asin(x_origin); return qieXianjiao; }//void drawTangent //專畫切線-帶R double drawTangentR(HDC hdc, double arc1, double r, int x0, int y0, COLORREF rgb1) { double x_origin = 0; for (int i = 0; i < r; ++i) { //double x_origin = -sin(arc1); double y_origin = cos(arc1); double x_d = x_origin * i + x0; double y_d = y_origin * i + y0; setpixe01(hdc, x_d, y_d, rgb1); } double qieXianjiao = asin(x_origin); return qieXianjiao; }//void drawTangent //返回切線角-帶R double TangentR2Arc(HDC hdc, double A, int x0, int y0, COLORREF rgb1) { double qieXianjiao = asin( -1.0* (x0-500)/halfA ); return qieXianjiao; }//void drawTangent double QieXianjiao(double A, double x, double y) { //負值有問題 double qieXianjiao = acos( (x - 500) / halfA ); return qieXianjiao; } double FaXianjiao(double A, double x, double y) { double qieXianjiao = acos((x - 500) / halfA); if (y < 300) { qieXianjiao = -qieXianjiao; } return qieXianjiao; } double FaXian180jiao(double A, double x, double y) { double faXianjiao = acos((x - 500) / halfA); if (y < 300) { faXianjiao = -faXianjiao; } return Pild+faXianjiao; } //專畫切線的法線-帶R double drawNormLine(HDC hdc, double arc1, double r, int x0, int y0, COLORREF rgb1) { double x_origin = 0; for (int i = 0; i < r; ++i) { //double x_origin = -sin(Pild/2.0+arc1); double y_origin = cos(Pild/2.0+arc1); double x_d = x_origin * i + x0; double y_d = y_origin * i + y0; setpixe01(hdc, x_d, y_d, rgb1); } double faXianjiao = asin(x_origin); return faXianjiao; }//drawNormLine //光線在橢圓中-步進 void light01line01ellipse(HDC hdc, double X0X0, double Y0Y0, double arc01Angle1, long long lineLen, COLORREF rgb1){ // cou02t.open("f:/Cout181224cou02t_1225a1.txt"); cou03t.open("f:/Cout181224cou03t_1225a3.txt"); cou04t.open("f:/Cout181224cou04t_1225a4.txt"); cou05Angle1.open("f:/Cout181224cou05Angle1_1225a5.txt"); int r100 = 100; {//試畫初始點: for (int i = 0; i < r100; ++i) {//for111 double x1 = cos(arc01Angle1)*i; double y1 = sin(arc01Angle1)*i; setpixe01(hdc, x1 + X0X0, y1 + Y0Y0, RGB(200,200, 0)); // rgb1); }//for111 }//試畫初始點 //光線步進 double arc1 = arc01Angle1; //初始化: double x_origin = cos(arc1); double y_origin = sin(arc1); double x2origin = 1.0 * x_origin; double y2origin = 1.0 * y_origin; double realX01 = x2origin + X0X0; // Apianyi_X500; double realY01 = y2origin + Y0Y0;// Bpianyi_Y300; double oldX01 = X0X0;// realX01; double oldY01 = 0;// Y0Y0;// realY01; double X01 = X0X0; double Y01 = Y0Y0; //光線步進 long long ii = 0; double Yellipse_Top = 0; double Yellipse_Bot = 0; double oldYellipse_Top = Yellipse_Top; double oldYellipse_Bot = Yellipse_Bot; // for (int ii = 0; ii < lineLen; ++ii) {//for110 double ellipse1NormArc1=arc1; // {//試畫橢圓的切線:qieXianjiao = asin( 1.0*(x01ellipse01_origin) / halfA) for (int i = 0; i < 361; ++i) {//for1110 double arc0101 = i * Pild / 180.0; double x01ellipse01_origin = halfA * cos(arc0101); double y01ellipse01_origin = halfB * sin(arc0101); double qieXianjiao = asin(-x01ellipse01_origin/halfA); qieXianjiao = asin( 1.0*(x01ellipse01_origin) / halfA); // line01Normal01light(hdc, qieXianjiao, 19, x01ellipse01_origin + 500, y01ellipse01_origin + 300, RGB(255, 0, 0)); line01Normal01light(hdc, QieXianjiao(halfA, x01ellipse01_origin + 500, 300), 9, x01ellipse01_origin + 500, y01ellipse01_origin + 300, RGB(255, 255, 0) ); line01Normal01light(hdc, arc0101, 9, x01ellipse01_origin + 500, y01ellipse01_origin + 300, RGB(255, 200, 0)); line01Normal01light(hdc, FaXianjiao(halfA, x01ellipse01_origin + 500, 300+ y01ellipse01_origin), 5, x01ellipse01_origin + 500, y01ellipse01_origin + 300, RGB(255, 0, 200)); //qieXianjiao, 90, x01ellipse01_origin+500, y01ellipse01_origin+300, RGB(255, 200, 0)); line01Normal01light(hdc, FaXian180jiao(halfA, x01ellipse01_origin + 500, 300 + y01ellipse01_origin), 50, x01ellipse01_origin + 500, y01ellipse01_origin + 300, RGB(255, 0, 0)); }//for1110 }//試畫橢圓的切線end //光線開始步進 while (ii < lineLen) { //while110 // double x_origin = cos(arc1);//光線(入射)角,落實為坐標 double y_origin = sin(arc1); double x2origin = x_origin*ii; double y2origin = y_origin*ii; double realX01 = x2origin + X01; //Apianyi_X500; double realY01 = y2origin + Y01;// Bpianyi_Y300; //算delta_Y 坐標 //對應的橢圓y坐標 double ellipse_X1 = x2origin;//realX01 - X01; // 此處 根據 realX01坐標,計算橢圓的 上弧 和下弧 Y坐標 double arc01ellipse01 = acos( (realX01-500) / halfA); double ellipse_Y1 = (double)sin(arc01ellipse01)*halfB; double Yellipse_Top = Bpianyi_Y300 + ellipse_Y1; double Yellipse_Bot = Bpianyi_Y300 - ellipse_Y1; setpixe01(hdc, realX01, Yellipse_Top, RGB(255, 0, 255));//此處顯示橢圓的 上弧 和下弧 Y坐標 setpixe01(hdc, realX01, Yellipse_Bot, RGB(255, 0, 200)); cou02t << "[realX01:" << realX01 << "]_"; cou02t << "[Yellipse_Top:" << Yellipse_Top << "]-";// << endl; cou02t << "[Yellipse_Bot:" << Yellipse_Top << "]" << endl; //判斷是否 相交于橢圓: if (realX01 <= 0) { arc1 = arc1 - Pild; ii = 1; } //判斷是否撞 左右 邊線 else if (realX01 >= 1000) { arc1 = arc1 + Pild; ii = 2; // X01 = 999; } else { //判斷是否 相交于橢圓: if ((Yellipse_Bot < realY01) && (realY01 < Yellipse_Top)) //if220 { ++ii; } else if ((realY01 <= Yellipse_Bot) || (realY01 >= Yellipse_Top)) { //if220else220 碰撞了 //而且上一個點沒有碰撞,則: cou03t << "[realY01:" << realY01 << "] "; // << endl; cou03t << "[Yellipse_Bot:" << Yellipse_Bot << "]-"; cou03t << "[Yellipse_Top:" << Yellipse_Top << "] "; cou03t << "[oldY01:" << oldY01 << "]" << endl; //而且上一個點沒有碰撞,則: if ((oldYellipse_Bot <= oldY01) && (oldY01 <= oldYellipse_Top)) //if330else330 這下真的是(第1次)碰撞了,因:判斷出 old點在橢圓內,而real點已經在橢圓外 { // cout << "Run here12:" << endl; //算反射角: //算法線: //算切線角: double ellipse1_x1 = realX01 - 500; double ellipse1_y1 = realY01 - 300; double tmpfaXianjiao = FaXian180jiao(halfA, realX01, realY01); line01Normal01light(hdc, tmpfaXianjiao , 10, realX01, realY01, RGB(200, 0, 0) ); //法線 紅色10長 //判斷到底是撞 上 弧了 還是 撞下弧了呢? if (realY01 <= Yellipse_Bot)//if440 撞下弧了 { // arc1 = Pild - 1.0* ellipse1NormArc1;//3.0/4*Pild;// normArc01; cou02t << "[下弧反射角arc1New:" << arc1 << "];" << endl; } else { // arc1 = -1.0* ellipse1NormArc1;//-Pild / 2.0; // arc1 - Pild / 2.0; // -arc1;// normArc01;// -arc1; // -normArc01; cou02t << "[撞)上弧反射角arc1New:" << arc1 << "];" << endl; }//if440else440 cou05Angle1 << "[先顯示入射角:" << arc1*180/Pild << "]:"; cou05Angle1 <<"(此時)法線角:" << tmpfaXianjiao*180/Pild << "]"; //小角等于: double arc_little1 = (Pild + arc1); cou05Angle1 << "[入射角轉成小角(小于90度正角):" << arc_little1*180/Pild << "]"; double jia_faXian_jiao = tmpfaXianjiao - arc_little1; cou05Angle1 << "[算出與法線夾角(小于90度正角與法線夾角):" << jia_faXian_jiao*180/Pild << "]_"; double newArc1 = (tmpfaXianjiao + 1.0*jia_faXian_jiao); cou05Angle1 << "[法線+1倍的 夾角:" << newArc1*180/Pild << "],"; arc1 = newArc1; cou05Angle1 << "【反射角:" << arc1 << "】;" << endl; ii = 10;// 2;// 1; //判斷到底是撞 上 弧了 還是 撞下弧了end double tmpX01 = X01; double tmpY01 = Y01; //交換 X01 和 old X01; X01 = oldX01; Y01 = oldY01;// realY01; oldX01 = tmpX01; oldY01 = tmpX01; // cout << "[normArc01:" << normArc01 << "]" << endl; } else//if330else330 { cou04t << "[Run here23!" << endl; cou04t << "B2[realY01:" << realY01 << "] "; // << endl; cou04t << "[Yellipse_Bot:" << Yellipse_Bot << "]-"; cou04t << "[Yellipse_Top:" << Yellipse_Top << "] "; cou04t << "[ellipse1NormArc1:" << ellipse1NormArc1 << "]" << endl; ++ii; // system("pause"); } }//else220if220 else { ++ii; cout << "[Run wrong12!]" << endl; system("pause"); } //if220else220 } oldX01 = realX01; oldY01 = realY01; //相當于把此點(old點)的情況 入棧 oldYellipse_Bot = Yellipse_Bot; oldYellipse_Top = Yellipse_Top; //判斷是否 相交于橢圓end setpixe01(hdc, realX01, realY01, RGB(100, 0, 0)); // }//while110 // }//for110 //光線步進end }//light01line01ellipse void wm01pain01ellipse( HDC hdc) { //畫橢圓 {//橢圓參數 // int ApianyiX0 = 500; // int BpianyiY0 = 400; // int Llength = 1000; // double halfA = Llength / 2; // double halfLittleF400 = 400; // double halfB0_2 = halfA * halfA - halfLittleF400 * halfLittleF400; // double halfB = sqrtf(halfB0_2); std::cout << "[halfA:" << halfA << "]" << std::endl; std::cout << "[halfLittleF:" << halfLittleF400 << "]" << std::endl; std::cout << "[halfB:" << halfB << "]" << std::endl; }//橢圓參數end // {//畫個圓 double R400 = 400; for (int i = 0; i < 35; ++i) { double arc1 = i * Pild / 180 *10; double x_origin = cos(arc1)* R400; double y_origin = sin(arc1)*R400; double x = x_origin + 400; double y = y_origin + 300; setpixe01(hdc, x, y, RGB(0,200,0)); } }//畫個圓 {//畫橢圓 int Apianyi_X500 = 500; int Bpianyi_Y300 = 300; for (int i = 0; i < 3601; ++i) { double arc1 = i * Pild / 180; double x_origin = halfA * cos(arc1); double y_origin = halfB * sin(arc1); double x = x_origin + Apianyi_X500;// 400; double y = y_origin + Bpianyi_Y300;// 300; setpixe01(hdc, x, y, RGB(0, 255, 0)); {//算切線角,畫切線: double tangentArc1 = arc1; drawTangentR(hdc,tangentArc1,19, x, y, RGB(0,0,200) );//切線Blue藍色,切線長度190 //給一個坐標(橢圓弧上的坐標),算出 法線 或者切線 {//算法線,畫法線: double normArc1 = Pild / 2.0 + tangentArc1; //drawTangent(hdc, normArc1, x, y, RGB(0, 200,0)); drawNormLine(hdc, tangentArc1, 9,x, y, RGB(0, 200, 0) );//法線綠色,長度90 } }//算切線角,畫切線end } //畫固定點-及固定點間的連線 move01to(hdc, 100, 300); line01to(hdc, 500, 300, RGB(0,200,0) ); line01to(hdc, 900, 300, RGB(0, 200, 0)); }//畫橢圓end {//畫光線-及步進 int x0 = 600; int y0 = 100; double arc1 = -3.0 / 16.0*Pild; //120 度= 120/180*Pild; arc1 = -120.0/180.0*Pild; long long lineLen = 9299;// 9999;// 999;// 99;// light01line01ellipse(hdc, x0, y0, arc1, lineLen, RGB(200,0,0)); }//畫光線-及步進end }//wm01pain01ellipse// // 函數: InitInstance(HINSTANCE, int) // // 目標: 保存實例句柄并創建主窗口 // // 注釋: // // 在此函數中,我們在全局變量中保存實例句柄并 // 創建和顯示主程序窗口。 // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { hInst = hInstance; // 將實例句柄存儲在全局變量中 // HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // 函數: WndProc(HWND, UINT, WPARAM, LPARAM) // // 目標: 處理主窗口的消息。 // // WM_COMMAND - 處理應用程序菜單 // WM_PAINT - 繪制主窗口 // WM_DESTROY - 發送退出消息并返回 // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // 分析菜單選擇: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_PAINT: {//case110 PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); // TODO: 在此處添加使用 hdc 的任何繪圖代碼... // wm01pain01ellipse(hdc); // EndPaint(hWnd, &ps); }//case110 break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // “關于”框的消息處理程序。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看