• <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 閱讀(256) 評論(0)  編輯 收藏 引用 所屬分類: Final work LOG
            久久这里有精品视频| 国产精品久久久久久久午夜片 | 久久久久夜夜夜精品国产| 97精品国产91久久久久久| 成人综合伊人五月婷久久| 精品久久久久久国产牛牛app| 久久无码人妻精品一区二区三区 | Xx性欧美肥妇精品久久久久久| 久久播电影网| 国产综合久久久久久鬼色| 国产一区二区三精品久久久无广告 | 无码任你躁久久久久久久| 久久久久亚洲AV无码专区体验 | 久久性生大片免费观看性| 久久久久久久精品成人热色戒| 国产精品99久久精品| 亚洲va久久久久| 国产精品久久久久久久久久免费| 国产激情久久久久久熟女老人 | 久久国产色AV免费观看| 伊人久久大香线蕉综合网站| 国产精品天天影视久久综合网| 久久99久国产麻精品66| 久久亚洲国产成人影院网站 | 99久久婷婷国产综合亚洲| 四虎国产精品成人免费久久| 狠狠人妻久久久久久综合| 久久久无码精品亚洲日韩按摩| 亚洲国产精品狼友中文久久久| 久久精品国产亚洲一区二区三区| 国产三级久久久精品麻豆三级| 国产成年无码久久久免费| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久强奷乱码老熟女网站| 久久精品不卡| 久久中文字幕视频、最近更新| 久久99精品久久久久久不卡 | 久久精品国产影库免费看| 久久国产精品99精品国产| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 精品久久久久成人码免费动漫|