Trang 4 trên tổng số 4 Đầu tiênĐầu tiên ... 234
Từ 31 tới 39 trên tổng số 39 kết quả

Đề tài: Nền tảng của đồ họa 3D - 3D Math

  1. #31
    Ngày gia nhập
    04 2010
    Bài viết
    3

    Mặc định Nền tảng của đồ họa 3D - 3D Math

    ban có thể viết tiếp để những ai mới học về nó có thể tiếp tục ko? hoặc bạn có thể post thêm tài liệu lên cho mọi người cùng tham khảo, cùng học. Là một người mới học về opengl mình rất cần những bài viết hoặc tài liệu như thế này. Cám ơn bạn nhiều nha.

  2. #32
    Ngày gia nhập
    07 2010
    Bài viết
    1

    "Where are you, ZCoder87?" Hãy tiếp tục đi?

  3. #33
    Ngày gia nhập
    09 2010
    Bài viết
    1

    Ai biết chỉ dùm -
    phép chiếu trực giao qua việc biểu diễn phép quay của hình hộp

  4. #34
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Trích dẫn Nguyên bản được gửi bởi chuphuong233 Xem bài viết
    ban có thể viết tiếp để những ai mới học về nó có thể tiếp tục ko? hoặc bạn có thể post thêm tài liệu lên cho mọi người cùng tham khảo, cùng học. Là một người mới học về opengl mình rất cần những bài viết hoặc tài liệu như thế này. Cám ơn bạn nhiều nha.

    Hi bạn... Lâu rồi mình ko vào forums...

    Thực ra thì ebook về opengl hay dx rất là nhiều. Tuy nhiên thông thường nó chỉ giới thiệu về cách sử dụng các function chứ về toán học thì ko nhiều.

    Và toàn bộ những gì mà mình viết trong bài viết này đều xuất phát từ opensource của OpenGL.

  5. #35
    Ngày gia nhập
    05 2012
    Bài viết
    1

    Mặc định Xin được trợ giúp

    Bạn có thể cho mình số điện thoại hoặc là nick yahoo, mail gì ko. Mình đang làm đề tài tốt nghiệp cần tìm hiểu vấn đề này. Bạn có thể giúp mình ko. Bạn có thể cho mình yahoo hoặc add nick yahoo dưới đây của mình nhé : theboy_lucky2003@yahoo.com . Cảm ơn bạn trước nhé.

  6. #36
    Ngày gia nhập
    07 2010
    Bài viết
    5

    Mặc định số nguyên tố lớn

    Mình đang nghiên cứu về thuật toán này nhưng đang thắc mắc là làm sao để kết thúc lệnh để trong máy tính mình đủ sức để sử dụng. Vì không biết cách viết bài mới ở đâu nên mình gửi tạm ở đây.Ai biết cái này thì cho mình xin đoạn code với... cảm ơn rất nhiều.

  7. #37
    Ngày gia nhập
    10 2011
    Nơi ở
    hà nội
    Bài viết
    2

    Mặc định Nền tảng của đồ họa 3D - 3D Math

    bài viết của bạn rất dễ hiểu , bạn có thể cho mình xin tài liệu và chút thông tin của bạn . mình đang tìm hiểu về phần này có gì phân vân mình xin phép làm phiền bạn hy vọng bạn giúo đỡ

  8. #38
    Ngày gia nhập
    12 2014
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi ZCoder87 Xem bài viết
    3. Coding…

    a. Phép chiếu song song :
    Code:
    1    0    0     0
    0    1    0     0
    0    0    0     0
    0    0   near   1
    C++ Code:
    1. void Matrix_Ortho( float *A, float left, float right, float bottom, float top, float near, float far)
    2. {
    3.     float OrthoMatrix[16];
    4.     float Result[16];
    5.  
    6.     Matrix_Identity( OrthoMatrix );
    7.    
    8.     OrthoMatrix[10] = 0;
    9.     OrthoMatrix[11] = near;
    10.  
    11.     Matrix_Mul16(A, OrthoMatrix ,Result);  
    12.     memcpy( (void*) A, (void*) Result, sizeof( Result ) );
    13. }

    a. Phép chiếu phối cảnh :

    Code:
    near     0      0        0
      0    near     0        0
      0      0      0     1/near
      0      0  near*near    0
    C++ Code:
    1. void Matrix_Frustum( float *A, float left, float right, float bottom, float top, float near, float far)
    2. {
    3.     float FrustumMatrix[16];
    4.     float Result[16];
    5.  
    6.     Matrix_Identity(FrustumMatrix);
    7.    
    8.     // Chieu
    9.     FrustumMatrix[14] = 1.0f/near;
    10.     FrustumMatrix[15] = 0;
    11.     FrustumMatrix[11]   = near*near;
    12.  
    13.     // Ty le
    14.     FrustumMatrix[0]    = near;
    15.     FrustumMatrix[5]    = near;
    16.     FrustumMatrix[10]   = 0;
    17.  
    18.     Matrix_Mul16(A, FrustumMatrix ,Result);
    19.     memcpy( (void*) A, (void*) Result, sizeof( Result ) );
    20. }

    2 Hàm này mình làm tương tự OpenGL. Mặc dù ta chỉ sử dụng giá trị near nhưng các giá trị left, right vẫn cứ để đó. Ta sẽ sử dụng chúng để cắt xén ở phần sau.

    c. Draw Polygon :

    C++ Code:
    1. // Thuc hien phep chieu
    2. void ZGraphics3D::Projection( float *vertexIn, float *vertexOut )
    3. {
    4.     Matrix_Mul4( m_ProjectionMatrix, vertexIn, vertexOut );
    5. }
    6.  
    7. // Ve 1 Polygon
    8. void ZGraphics3D::Draw_Polygon( ZVertex3D *v, int nCount )
    9. {  
    10.     float Vertex3D[4];
    11.     int i;
    12.  
    13.     float *aTransformVertex;   
    14.     float *aProjectionVertex;
    15.  
    16.     aTransformVertex  = new float[nCount * 4];
    17.     aProjectionVertex = new float[nCount * 4];
    18.  
    19.     float *p = aTransformVertex;   
    20.     float *q;
    21.  
    22.     // Bien doi cac vertex
    23.     for (i = 0; i < nCount; i++)
    24.     {
    25.         Vertex3D[0] = v[i].x;
    26.         Vertex3D[1] = v[i].y;
    27.         Vertex3D[2] = v[i].z;
    28.         Vertex3D[3] = 1;
    29.        
    30.         // Bien doi (quay, tinh tien,...)
    31.         this->Transform( Vertex3D, p );
    32.  
    33.         p += 4;
    34.     }  
    35.    
    36.     // Chieu vertex
    37.     p = aProjectionVertex;
    38.     q = aTransformVertex;
    39.  
    40.     for (i = 0; i < nCount; i++)
    41.     {
    42.         this->Projection( q, p );
    43.        
    44.         p[0] /= p[3]; //    x/w
    45.         p[1] /= p[3]; //    y/w
    46.         p[2] /= p[3]; //    z/w
    47.  
    48.         // Chuyen ve goc toa do
    49.         p[0] += m_ViewportMatrix[0] + m_ViewportMatrix[2]/2;
    50.         p[1] += m_ViewportMatrix[0] + m_ViewportMatrix[3]/2;
    51.  
    52.         p+=4;
    53.         q+=4;
    54.     }  
    55.    
    56.     // Ve da giac 2D
    57.     p = aProjectionVertex;
    58.     int x0,y0,x,y;
    59.  
    60.     for (i = 0; i < nCount; i++)
    61.     {
    62.         // Ve duong thang
    63.         if ( i!= 0 )
    64.             m_pBuffer->Draw_Line(x,y, (int) p[0], (int)p[1]);
    65.         else
    66.         {
    67.  
    68.             // Neu la Point dau tien -> Luu x0, y0
    69.             x0 = (int)p[0];
    70.             y0 = (int)p[1];
    71.         }
    72.  
    73.         // Luu toa do xy
    74.         x = (int)p[0];
    75.         y = (int)p[1];
    76.  
    77.         p+= 4;
    78.     }
    79.    
    80.     // Ve canh cuoi cung
    81.     if (nCount > 1)
    82.         m_pBuffer->Draw_Line( x0,y0, x,y );
    83.  
    84.     // Huy tai nguyen
    85.     delete aProjectionVertex;
    86.     delete aTransformVertex;
    87. }

    Khi Render thì trục Y lọt ngược xuống phía dưới nhưng mình không đổi trục tọa độ nữa như lần trước nữa.

    Cứ mặc định để như vậy. Tới phần phần Camera mình sẽ xử lý nó.

    Chương trình minh họa phép chiếu phối cảnh:
    Anh ơi phần này anh có viết cho vb.net ko anh?

  9. #39
    Ngày gia nhập
    04 2017
    Nơi ở
    hà nội
    Bài viết
    1

    cảm ơn bạn chủ đề "đồ họa 3D." hay và hướng dẫn chi tiết
    Chuyên cung cấp, phân phối tất cả các loại Điện trở xả vỏ nhôm, Điện trở xả vỏ sứ tại thị trường Việt Nam
    Tham khảo: http://dientroxa.com

Trang 4 trên tổng số 4 Đầu tiênĐầu tiên ... 234

Các đề tài tương tự

  1. Bài tập C++ Phép tính +-*/ không sử dụng thư viện math.h
    Gửi bởi tazihaza trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 29-03-2012, 08:51 PM
  2. Lập trình C Định nghĩa lại các toán tử +, -, x, /...và thư viện math.h
    Gửi bởi nakamurra trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 24-03-2012, 12:16 PM
  3. Hỏi về hàm Math.pow
    Gửi bởi Batchuoc_09 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 6
    Bài viết cuối: 03-08-2009, 09:04 PM
  4. Cho hỏi về hàm Math.Sin() và Math.Asin()
    Gửi bởi BuithiHa trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 12-07-2007, 10:28 PM
  5. Cho mình hỏi về một chút về math.h
    Gửi bởi nokia5510vn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 13-05-2007, 01:45 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn