Latest topics
» Tự học lập trình IOS trong vòng 24hby kenanh 27/1/2014, 22:28
» xin tài liệu một số môn học
by nguyentvvan 21/8/2013, 21:34
» [Thảo luận] Bài toán đong nước
by giathinh9x 9/1/2013, 22:39
» Học Marketing Online, Học Chuyên viên Internet Marketing Online tại iNET
by NIIT-iNET 19/6/2012, 14:23
» Học PHP nâng cao, Học lập trình web với PHP nâng cao tại học viện iNET
by NIIT-iNET 19/6/2012, 14:22
» Học PHP, học lập trình web với PHP tại iNET vào ngày 19/07/2012
by NIIT-iNET 19/6/2012, 14:20
» PHIÊN BẢN MỚI CHO THIÊN ĐƯỜNG CÁ Ô LA LA !!!
by todaytv 13/3/2012, 15:35
» [hot] game khu vườn địa đàng phiên bản mobile của KVTM
by trantinh1713 3/1/2012, 15:20
» Đề tham khảo (update phút 90)
by ndc_2209 29/12/2011, 10:26
» Học bổng Lời Dịch tuần này.
by tienganh123 1/11/2011, 13:13
» [Thảo luận] Quản lý phân công giảng dạy PTTH
by huyquang0510 5/10/2011, 09:52
» Học tiếng Nhật - Top Globis
by tuquynh 21/9/2011, 10:35
» Học tiếng Nhật - Top Globis
by tuquynh 8/8/2011, 11:19
» Order Imitrex Online
by Khách viếng thăm 4/8/2011, 18:46
» Speeds Caffeine Metabolism Up
by Khách viếng thăm 4/8/2011, 18:12
» Skin For Good Caffeine
by Khách viếng thăm 3/8/2011, 14:54
» Cheap Pvc Figures
by Khách viếng thăm 1/8/2011, 19:32
» Action Rapid Onset Zolpidem Of
by Khách viếng thăm 31/7/2011, 01:13
» TUYỂN NHÂN VIÊN KINH DOANH ( làm việc tại văn phòng )
by canhkientp 5/7/2011, 14:59
» Demo + Vài điểm thảo luận về LINQ - Nhóm 7
by ChuongTienPhat 3/7/2011, 12:19
Vẽ Hình Bát Quái
5 posters
Trang 1 trong tổng số 1 trang
Vẽ Hình Bát Quái
- Code:
CBrush * newbrush1=new CBrush(RGB(4500,4500,500));
CBrush * oldbrush1=pDC->SelectObject(newbrush1);
pDC->SelectObject(oldbrush1);
int x1,y1,x2,y2;
x1=100;
y1=100;
x2=500;
y2=500;
pDC->MoveTo(x1,y1);
pDC->Ellipse(x1,y1,x2,y2);//ve hinh tron dau tien
pDC->MoveTo((x1+x2)/2,y1);
pDC->AngleArc((x1+x2)/2,(y1+y2)/3,(x1+x2)/6,90,181);//ve nua hinh tron phia tren
pDC->MoveTo((x1+x2)/2,y2);
pDC->AngleArc((x1+x2)/2,(y2-y1),(x1+x2)/6,-90,180);//ve nua hinh tron phia duoi (-90)
pDC->MoveTo((x1+x2)/2,150);
pDC->SelectObject(newbrush1);
pDC->AngleArc((x1+x2)/2,(y1+y2)/3,(x1+x2)/12,90,360);//ve hinh tron nho o tren
pDC->FloodFill(x1+(x2-x1)/2,y1+(y2-y1)/3,RGB(0,0,0));
pDC->SelectObject(oldbrush1);
pDC->MoveTo((x1+x2)/2,y2-50);
pDC->AngleArc((x1+x2)/2,(y2-y1),(x1+x2)/12,-90,360);//ve hinh tron nho o duoi
pDC->SelectObject(newbrush1);//chon mau
pDC->FloodFill(x1+(x2-x1)/3,(y1+y2)/2,RGB(0,0,0));//to mau.
delete newbrush1;//hủy newbrush1
delete oldbrush1;//hủy oldbrush1
gecko-
Tổng số bài gửi : 17
Age : 34
Registration date : 08/03/2010
Re: Vẽ Hình Bát Quái
thanks pác nhá,nhưng Thanh vẫn chưa hiểu vì sao có chỗ (x1+x2)/2 có chỗ lại khác?????
Re: Vẽ Hình Bát Quái
Mong pác chỉ rõ ra pác thắc mắc chổ nào em sẽ giải thích
gecko-
Tổng số bài gửi : 17
Age : 34
Registration date : 08/03/2010
Re: Vẽ Hình Bát Quái
gecko đã viết:Mong pác chỉ rõ ra pác thắc mắc chổ nào em sẽ giải thích
Tớ nghĩ pác nên làm một bài mô tả như tớ zị nè
https://07ck2.forumvi.com/forum-f37/topic-t1896.htm
Re: Vẽ Hình Bát Quái
hay, nhưng đọc khó hiểu quá .
nguyenbaquang_99- | Trẻ Sơ Sinh |
-
Tổng số bài gửi : 33
Age : 37
Registration date : 27/01/2009
Re: Vẽ Hình Bát Quái
nguyenhuuthanh đã viết:thanks pác nhá,nhưng Thanh vẫn chưa hiểu vì sao có chỗ (x1+x2)/2 có chỗ lại khác?????
pac đó làm cho cái hình nó đều ah mà nếu tính tay thì khỏi cần, chỉ ghi tọa độ x,y thui.
- Code:
//HINH 1
//duong tron ngoai
pDC->MoveTo(100,300);
pDC->AngleArc(300,300,200,180,360);
//cung tron tren
pDC->MoveTo(300,100);
pDC->AngleArc(300,200,100,90,180);
//cung tron duoi
pDC->MoveTo(300,300);
pDC->AngleArc(300,400,100,90,-180);
//duong tron tren
pDC->MoveTo(260,180);
pDC->AngleArc(300,180,40,180,360);
//duong tron duoi
pDC->MoveTo(260,420);
pDC->AngleArc(300,420,40,180,360);
CBrush *newbrush=new CBrush(RGB(0,0,0));
CBrush *oldbrush=pDC->SelectObject(newbrush);
pDC->FloodFill(320,300,RGB(0,0,0));
//pDC->SelectObject(oldbrush);
pDC->FloodFill(300,410,RGB(0,0,0));
//HINH 2
//cung tren
pDC->MoveTo(800,200);
pDC->AngleArc(800,300,100,90,-90);
//cung duoi
pDC->MoveTo(800,230);
pDC->AngleArc(800,300,70,90,-90);
//noi 2 cung
pDC->MoveTo(800,230);
pDC->LineTo(800,200);
pDC->MoveTo(870,300);
pDC->LineTo(900,300);
//HINH 3
//cung tren
pDC->MoveTo(800,400);
pDC->AngleArc(800,500,100,90,-90);
//cung duoi
pDC->MoveTo(800,430);
pDC->AngleArc(800,500,70,90,-90);
//tao 2 duong noi
pDC->MoveTo(800,400);
pDC->LineTo(800,430);
pDC->MoveTo(900,500);
pDC->LineTo(870,500);
newbrush=new CBrush(RGB(100,200,0));
pDC->SelectObject(newbrush);
pDC->FloodFill(810,420,RGB(0,0,0));
Re: Vẽ Hình Bát Quái
pác làm rồi thì em đâu cần làm lại.anh em cứ thế x1=100,y1=200,x2...,y2... vào thì dễ hiểu hơn thui mà...
Tại bài đó em làm trên bữa thực hành rùi up lên luôn. mấy pác thông cảm cho...
gecko-
Tổng số bài gửi : 17
Age : 34
Registration date : 08/03/2010
Re: Vẽ Hình Bát Quái
ý em hỏi là vì sao có chỗ (x1+x2)/2,có chỗ lại (x1+x2)/6....... công thức ở đâu ra?Còn bài của pác Nhím thì em hiểu rùi
Re: Vẽ Hình Bát Quái
1.(x1+x2)/2: để lấy đỉnh A(x1+x2)/2,y1).
2.(x1+x2)/6=R: công thức này chỉ đúng cho trường hợp x1=100,y1=100,x2=500,y2=500 thôi.Công thức này em làm trên lớp thực hành nên sơ suất, anh em thông cảm.Công thức em đã fix cho chính xác lại rồi :
R=|x2-x1|/4.
3....Buồn ngủ quá nên không giải thích và vẽ hình minh họa thêm được nữa, mong anh em thông cảm.
Anh em coi hình ở dưới đây:
Còn đây là phần code hoàn chỉnh của em: các pác thỏa mái chém bằng các phép thử x1,x2...:
2.(x1+x2)/6=R: công thức này chỉ đúng cho trường hợp x1=100,y1=100,x2=500,y2=500 thôi.Công thức này em làm trên lớp thực hành nên sơ suất, anh em thông cảm.Công thức em đã fix cho chính xác lại rồi :
R=|x2-x1|/4.
3....Buồn ngủ quá nên không giải thích và vẽ hình minh họa thêm được nữa, mong anh em thông cảm.
Anh em coi hình ở dưới đây:
Còn đây là phần code hoàn chỉnh của em: các pác thỏa mái chém bằng các phép thử x1,x2...:
- Code:
// dh1.3View.cpp : implementation of the Cdh13View class
//
#include "stdafx.h"
#include "dh1.3.h"
#include "dh1.3Doc.h"
#include "dh1.3View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// Cdh13View
IMPLEMENT_DYNCREATE(Cdh13View, CView)
BEGIN_MESSAGE_MAP(Cdh13View, CView)
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
END_MESSAGE_MAP()
// Cdh13View construction/destruction
Cdh13View::Cdh13View()
{
// TODO: add construction code here
}
Cdh13View::~Cdh13View()
{
}
BOOL Cdh13View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
// Cdh13View drawing
void Cdh13View::OnDraw(CDC* pDC)
{
Cdh13Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: add draw code for native data here
//--------------------Hình 1.Bát Quái:-------------------------
CBrush * newbrush1=new CBrush(RGB(4500,4500,500));
CBrush * oldbrush1=pDC->SelectObject(newbrush1);
pDC->SelectObject(oldbrush1);
int x1,y1,x2,y2;
x1=300;
y1=300;
x2=600;
y2=600;
pDC->MoveTo(x1,y1);
pDC->Ellipse(x1,y1,x2,y2);//ve hinh tron dau tien
pDC->MoveTo((x1+x2)/2,y1);
pDC->AngleArc((x1+x2)/2,y1+(y2-y1)/4,(x2-x1)/4,90,181);//ve nua hinh tron phia tren
pDC->MoveTo((x1+x2)/2,y2);
pDC->AngleArc((x1+x2)/2,y2-(y2-y1)/4,(x2-x1)/4,-90,180);//ve nua hinh tron phia duoi (-90)
pDC->MoveTo((x1+x2)/2,y1+(y2-y1)/8);
pDC->SelectObject(newbrush1);
pDC->AngleArc((x1+x2)/2,y1+(y2-y1)/4,(x2-x1)/8,90,360);//ve hinh tron nho o tren
pDC->FloodFill(x1+(x2-x1)/2,y1+(y2-y1)/3,RGB(0,0,0));
pDC->SelectObject(oldbrush1);
pDC->MoveTo((x1+x2)/2,y2-(y2-y1)/8);
pDC->AngleArc((x1+x2)/2,y2-(y2-y1)/4,(x2-x1)/8,-90,360);//ve hinh tron nho o duoi
pDC->SelectObject(newbrush1);//chon mau
pDC->FloodFill(x1+(x2-x1)/3,(y1+y2)/2,RGB(0,0,0));//to mau.
//delete newbrush1;
//delete oldbrush1;
//---------------------------------------------------------
}
// Cdh13View printing
BOOL Cdh13View::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void Cdh13View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void Cdh13View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
// Cdh13View diagnostics
#ifdef _DEBUG
void Cdh13View::AssertValid() const
{
CView::AssertValid();
}
void Cdh13View::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
Cdh13Doc* Cdh13View::GetDocument() const // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(Cdh13Doc)));
return (Cdh13Doc*)m_pDocument;
}
#endif //_DEBUG
// Cdh13View message handlers
gecko-
Tổng số bài gửi : 17
Age : 34
Registration date : 08/03/2010
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|