<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                先上圖: 初始參數(設置): //輸入初始參數: double arc1 = (7.0 / 16.0)*Pild; line01light02(hdc, arc1, 19, 300, 410); //參數說明: hdc繪圖板,入射角arc1= 7/16PI, x1=300,y1=410為入射光線初始坐標 ![](https://box.kancloud.cn/6fe1df34ada2d2e969c3db6172aa56a2_854x599.png) 核心代碼: void line01light02(HDC hdc, double arc1, unsigned long lineLen, double X01, double Y01) { // double arc1arg02 = regularAngle(arc1); double X001 = X01; double Y001 = Y01; double X002 = X001; double Y002 = Y001; line2normal(hdc, arc1, X001, Y001, RGB(0, 200, 200), 10); cout << "[arc1arg01:" << arc1 << "]-"; cout << "[arc1arg02:" << arc1 << "]; "; unsigned long itime = 0; double old1X001 = X001; double old1Y001 = Y001; double mid01X01 = X001; double mid01Y01 = Y001; double arc01normal01origin001; double arc1normal01; double fanshe01Arc01; double reflecteAng01; double Xorigin01; double Yorigin01; // //循環光走(光線前進-簡稱光進)并反射等 //do { // lable110start: if (lineLen < 1) { return; } lable120: itime = 1; cout << "[itime:" << itime << "]_"; lable220: //開始算 反射角,并 (繼續)光進 Xorigin01 = cos(arc1arg02)*(double)itime; Yorigin01 = sin(arc1arg02)*(double)itime; lable230: X001 = Xorigin01 + old1X001; Y001 = Yorigin01 + old1Y001; setpixe02l(hdc, X001, Y001, RGB(255, 25, 0));// , 255, 0));//繪圖封裝,封裝都是有目的 的;沒有目的 的“瞎封裝”…會從我的小組被開除--Terry. lable510: //判斷并(光線)步進: //if先判斷是否在月亮形狀里: (isInC2littlecircle && !isInC1BigCircle) if (isInMoon(X001, Y001)) {//if110 itime = 1; lineLen--; old1X001 = X001; old1Y001 = Y001; itime++; goto lable220; }//if110 //與小圓的上弧相交,else if下面判斷:是否出了月亮,即出了小圓,(當然)也出了大圓 else if ( isInMoon(old1X001,old1Y001) && (!isInC2littlecircle && !isInC1BigCircle) ) { double arc01normal01origin01 = atan( (400-X001)/(Y001-400) ); arc1normal01 = Pild / 2.0 + arc01normal01origin01; line2normal(hdc, arc1normal01, old1X001, old1Y001, RGB(0, 100, 0), 5); //暗綠色法線 fanshe01Arc01 = arc1arg02 - 2 * arc1normal01; reflecteAng01=Pild - fanshe01Arc01; line2normal(hdc, reflecteAng01, old1X001, old1Y001, RGB(0, 255, 0), 6);//亮綠色反射線 arc1arg02 = reflecteAng01; cout << "[01-arc1normal01:" << arc1normal01 << "]"; // system("pause"); goto lable220; }//if110elseif120 //elseif下面判斷:是否出了月亮,既然在小圓內,(但)仍然在大圓內(兩圓相交處 else if ( isInMoon(old1X001,old1Y001) && (isInC2littlecircle && isInC1BigCircle) ) { arc01normal01origin001 = atan((400 - X001 / (Y001 - 0) ) ); arc1normal01 = (Pild / 2.0 - arc01normal01origin001); line2normal(hdc, arc1normal01, old1X001, old1Y001, RGB(0, 0, 100), 19); //暗藍法線 fanshe01Arc01 = Pild + arc1arg02 - 2 * arc1normal01; reflecteAng01 = fanshe01Arc01; arc1arg02 = reflecteAng01; line2normal(hdc, reflecteAng01, old1X001,old1Y001, RGB(255, 200, 0), 5); cout << "[arc1normal01:" << arc1normal01 << "]"; system("pause"); goto lable220; }//if110elseif130 //不在小圓內,但在大圓內(第4塊--特殊區域 else if (!isInC2littlecircle&&isInC1BigCircle) { lable910: //迭代找第1次,第一個弧的交點,即不在inInMoon內的第一個點 mid01X01 = (X001 + old1X001) / 2; mid01Y01 = (Y001 + old1Y001) / 2; if (isInMoon(mid01X01, mid01Y01)) { goto lable910; } else//注意此時,mid01X01,Y01不在Moon內了,已經 { X001 = mid01X01; Y01 = mid01Y01; //相當于退回中點(中值點 goto lable510; } }//if110elseif140 // //while (true); // // }//
                  <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>

                              哎呀哎呀视频在线观看