• <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
            国产精品一区二区久久| 国产精品中文久久久久久久| 精品久久久噜噜噜久久久| 精品国产乱码久久久久久郑州公司| 香港aa三级久久三级| 精品国产乱码久久久久久呢| 色综合久久88色综合天天| 久久婷婷是五月综合色狠狠| 成人久久久观看免费毛片| 久久乐国产精品亚洲综合| 久久丫精品国产亚洲av| 日本亚洲色大成网站WWW久久 | 久久久精品人妻一区二区三区蜜桃| 欧美久久精品一级c片片| 一本久道久久综合狠狠躁AV| 嫩草影院久久99| 久久精品国产久精国产思思| 久久91精品国产91久| 狠狠色伊人久久精品综合网| a高清免费毛片久久| 亚洲精品乱码久久久久久蜜桃图片 | 久久精品人人做人人妻人人玩| 一本色道久久88综合日韩精品 | 99久久无码一区人妻a黑| 精品久久久中文字幕人妻| 一级A毛片免费观看久久精品| 久久播电影网| 欧美久久一区二区三区| 日本福利片国产午夜久久| 99久久久精品| 久久综合丝袜日本网| 天天爽天天爽天天片a久久网| 日本人妻丰满熟妇久久久久久| 久久国产色av免费看| 亚洲精品无码久久一线| 久久久久亚洲AV无码永不| 精品国产乱码久久久久久呢| 久久久久久国产精品免费无码| 97久久超碰国产精品旧版| 久久久久人妻精品一区| 国产韩国精品一区二区三区久久|