• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 64,comments - 18,trackbacks - 0

            終于完成了A階段,下面可以進入B階段了,主要集中在程序的UI上,另外考慮如何提升速度。

            我的臨時文檔,看起來好亂,程序里的標識符也沒完全按文檔里的來,真是亂套了,明天好好修改修改。

             

             

            放入MyDefine.h,MyDefine.cpp文件

            1. 河的邊線

            Doc里放入:

            //num of ctrl pnt,nodal pnt,display style,

            //wave speed wave distance and wave num

            int ctrlNum,ndlNum,style,wSpeed,wDistance,wNum;

            //the pnt array represent ctrl pnts and nodal pnts.

            CArray <CPoint,CPoint&> c_PntsL,c_PntR,n_PntsL,n_PntsR;

            視圖類和文檔類都要引用MyDefine.h,用#ifndef

            以下內容放在視圖類里的OnCreate函數中,先為CView的派生類聲明一個圖元文件的數據成員HMETAFILE m_hMetaFile;

            CArray <CPoint,CPoint&> initL,initR;

            //預先輸入的控制點,自定義

            Int const Max=60;

            //CArray <CPointPartner,CPointPartner&> init_CPntPtr,final_CPntPtr;

            //CPointPartner作為TYPE有問題,還是用數組

            //改為:

            CPointPartner init_CPntPtr[Max],final_CPntPtr[Max];

            //最后的點對數組final_CPntPtr給CCurve類用

            While(i<Num)

            {

            CPointPartner temp_CPntPtr (initL[i],initR[i]);

            init_CPntPtr.Add(temp_CPntPtr);

            i++;

            }

            //鼠標點擊或預先指定控制點,即一些點對

            //以及處理后得到的點對

            CSpline spL (initL);

            CSpline spR (initR);

            //兩邊的樣條曲線

            CArray<CPoint,CPoint&> finalL,finalR;

            //處理后得到的樣條曲線上的點

            spL.GetPoints(finalL);

            spR.GetPoints(finalR);

            Count=finalL.GetSize();

            For(int i=0;i<count;i++)

            {

            CPointPartner Temp_finalP (finalL[i],finalR[i])

            Final_CPntPtr[i]=temp_finalP;//重載=運算符

            }

            //將樣條對象spL,spR里的點放入finalL和finalR,之后又放入點對數組final_CPntPtr;

            //共count個點對

            CMetaFileDC metaFileDC;

            metaFileDC.Create();

            這里畫出邊線(通過finalL和finalR

            m_hMetaFile=metaFileDC.Close();

            5.23晚19:30以上程序的調試已完成(未加鼠標控制)

            2. 一道道波紋(CCurve類)

            在視圖類中聲明數據:CArray<Points,Points&> mPntsCurve;

            在OnDraw里

            先確定水波位置:

            WavePL[i]和WavePR[i]

            For(int i=0,i<WaveN;i++)

            {

            CCurve tempCurve (final_CPntPtr[i]);

            tempCurve.ComputePnts(mPntsCurve);

            連這些點成線

            }

            詳細設計:

            Doc里定義兩個點,

            View里定義一個函數BOOL ComputePnts(CArray<CPoint,CPoint&>& m_Pnts,CPoint m_LPnt,CPoint m_RPnt)

            OnDraw里給兩個點賦值,調用ComputePnts,再繪圖

            MFC的聯系

            //用圖元文件保存邊線,中間的curve即時畫出來

            //要描繪的點,每兩點畫條線連接LineTO

            或者將點集的計算都放在文檔類中,給文檔類新建兩個函數

            數據的放置位置還得琢磨琢磨

            5.21 晚12:00此文檔完成

            Spline的計算在CDoc里,Curve的計算在CView

            5. 29 晚1:47 添加(明天再修改)

             

            5.30

            Q: Spline里的temp值使得數組越界問題

            A: 精度造成的,兩個float型變量t和T1[j1+1]都為0.90000,但t>T1[j1+1]為true,

            Tips

            1. 查找類型強制轉換以及精度丟失的知識

            2. 看林銳的《高質量C++編程》,注意這些細節。

            5.31

            已完成:位圖作為背景。

             

            Q:鼠標控制的問題

            posted on 2007-05-30 02:01 rebol 閱讀(269) 評論(0)  編輯 收藏 引用 所屬分類: Final work LOG
            久久午夜福利无码1000合集| 久久综合欧美成人| 四虎亚洲国产成人久久精品| 精品久久久久成人码免费动漫| 合区精品久久久中文字幕一区| 熟妇人妻久久中文字幕| 91久久婷婷国产综合精品青草| 一本久道久久综合狠狠躁AV| 欧美精品福利视频一区二区三区久久久精品 | 久久精品中文字幕有码| 久久棈精品久久久久久噜噜| 激情五月综合综合久久69| 久久这里有精品| 超级97碰碰碰碰久久久久最新| 久久久WWW成人免费毛片| 国产精品免费久久| 精品人妻伦一二三区久久| 久久99中文字幕久久| 国产精品久久国产精麻豆99网站 | segui久久国产精品| 久久91精品国产91久久户| 精品综合久久久久久88小说| 一本色综合网久久| 久久人人爽人人爽人人片AV麻豆 | 久久久久久国产精品免费免费| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日韩十八禁一区二区久久| 国产精品欧美亚洲韩国日本久久| 久久久无码精品亚洲日韩按摩| 欧美午夜A∨大片久久 | 亚洲国产成人精品无码久久久久久综合| 久久人人爽人人人人爽AV| 国产免费久久精品99re丫y| 精品久久久久国产免费| 国产精品久久久久久久午夜片| 国产午夜精品理论片久久影视 | 久久综合亚洲欧美成人| 日本久久久久亚洲中字幕| 久久午夜无码鲁丝片| 人妻无码αv中文字幕久久| 久久午夜羞羞影院免费观看|