Giáo trình Lập trình JAva 2D and 3D


DOWNLOAD TÀI LIỆU

Tài liệu gồm 571 trang

MỤC LỤC
Lập trình đồ họa với Java 2D . 9

Chương 1 . 10
Tổng quan về Java 2D API . 10
1.1 Enhanced Graphics, Text, and imaging . 10
1.2 Rendering Model . 11
1.2.1 Coordinate Systems . 12
1.2.1.1 User Space . 12
1.2.1.2 Device Space . 13
1.2.2 Transforms . 14
1.2.3 Fonts . 15
1.2.4 Images . 16
1.2.5 Fills and Strokes . 17
1.2.6 Composites . 18
Backward Compatibility and Platform independence . 19
1.3.1 Backward Compatibility . 19
1.3.2 Platform independence . 21
1.4 The Java 2D™ API Packages . 21
Chương 2: . 25
Rendering with Graphics2D . 25
2.1 Các lớp và giao diện. . 26
2.2 Rendering Concepts . 27
2.2.1 Rendering Process . 28
2.2.2 Controlling Rendering Quality . 29
2.2.3 Stroke Attributes . 31
2.2.4 Fill Attributes . 32
Quá trình xử lý theo phiên . 34
2.2.5 Clipping Paths . 34
2.2.6 Transformations . 35
2.2.6.1 Constructing an AffineTransform . 37
2.2.7 Composite Attributes . 38
2.2.7.1 Managing Transparency . 39
2.2.7.2 Transparency and images . 40
2.3 Thiết lập Graphics2Context . 40
2.3.1 Setting Rendering Hints . 40
2.3.2 Specifying Stroke Attributes . 41
2.3.2.1 Setting the Stroke Width . 41
2.3.2.2 Specifying Join and Endcap Styles . 42
2.3.2.3 Setting the Dashing Pattern . 42
2.3.3 Specifying Fill Attributes . 44
2.3.3.1 Filling a Shape with a Gradient . 44
2.3.3.2 Filling a Shape with a Texture . 45
2.3.4 Setting the Clipping Path . 46
2.3.5 Setting the Graphics2D Transform . 48
2.3.6 Specifying a Composition Style . 51
2.3.6.1 Using the Source Over Compositing Rule . 51
2.3.6.2 Increasing the Transparency of Composited Objects . 51
2.4 Rendering Graphics Primitives . 53
2.4.1 Drawing a Shape . 53
2.4.2 Filling a Shape . 55
Lập trình đồ họa trên Java 2D và 3D
2.4.3 Rendering Text . 56
2.4.4 Rendering images . 56
2.5 Defining Custom Composition Rules . 56
2.6 Rendering in a Multi-Screen Environment . 57
Chương 3 . 75
Các đối tượng hình họa . 75
3.1 Giao diện và lớp. . 75
3.2 Các khái niệm hình học: . 78
3.2.1 Constructive Area Geometry . 79
3.2.2 Bounds and Hit Testing . 80
3.3 Combining Areas to Create New Shapes . 88
Chương 4: . 94
Hiển thị Font và văn bản . 94
4.1.Giao diện và lớp. . 94
4.2.Các khái niệm về Font . 96
4.3 Các khái niệm về Text Layout. . 98
4.3.1 Vẽ chữ. . 99
4.3.2 Ordering Text . 101
4.3.3 Đo và định vị văn bản . 103
4.3.4 Hỗ trợ thao tác với văn bản. . 104
4.3.4.1 Hiển thị dấu nhắc . 104
4.3.4.2 Di chuyển dấu nhắc. . 106
4.3.4.3 Hit Testing . 107
4.3.4.4 Đánh dấu vùng lựa chọn. . 108
4.3.5 Thực thi việc hiển thị văn bản trong ứng dụng Java™ . . 109
Quản lý việc hiển thị văn bản. . 110
4.4.1 Trình bày văn bản. . 111
Hiển thị dấu nhắc kép. . 112
4.4.3 Di chuyển dấu nhắc. . 113
4.4.4 Hit Testing . 114
4.4.5 Đánh dấu vùng lựa chọn. . 115
4.4.6 Querying Layout Metrics . 115
4.4.7 Vẽ văn bản trên nhiều dòng. . 116
Chương 5 . 126
Tạo ảnh . 126
5.1 Các giao diện và các lớp . 126
5.1.1 Các giao diện imaging (imaging interfaces) . 127
5.1.2 Các lớp dữ liệu ảnh(image Data Classes) . 127
5.1.3 image Operation Classes . 129
5.1.4 Sample Model Classes . 130
Color Model Classes . 131
5.1.6 Exception Classes . 132
5.2 Immediate Mode imaging Concepts . 133
5.2.1 Terminology . 135
5.3 Using Bufferedimages . 136
5.3.1 Creating a Bufferedimage . 136
5.3.2 Drawing in an Offscreen Buffer . 137
5.3.2.1 Creating an Offscreen Buffer . 138
5.3.2.2 Drawing in an Offscreen Buffer . 140
5.3.3 Manipulating Bufferedimage Data Directly . 141
Lập trình đồ họa trên Java 2D và 3D
5.3.4 Filtering a Bufferedimage . 142
5.3.5 Rendering a Bufferedimage . 142
5.4 Managing and Manipulating Rasters . 150
5.4.1 Creating a Raster . 150
5.4.2 Parent and Child Rasters . 151
5.4.4 The WritableRaster Subclass . 151
5.5 Image Data and DataBuffers . 152
5.6 Extracting Pixel Data from a SampleModel . 153
5.7 ColorModels and Color Data . 154
5.7.1 Lookup Table . 155
5.8 image Processing and Enhancement . 155
5.8.1 Using an image Processing Operation . 158
Chương 6 . 162
Mầu sắc . 162
6.1 Các lớp . 163
6.2 Những định nghĩa về mầu sắc. . 163
6.2.1 Không gian mầu . 164
6.2.1 Biểu diễn màu . 167
Chương 7 . 171
In ấn . 171
7.1 Các giao diện và các lớp . 171
7.2.1 Supporting Printing . 174
7.2.1.1 Điều khiển in (Job Control) . 174
7.2.2 Page Painters . 175
7.2.3 Printable Jobs and Pageable Jobs . 177
7.2.4 Typical Life-Cycle of a PrinterJob . 178
7.3 Printing with Printables . 181
7.3.2 Printing a File . 185
7.4.1 Using a Pageable Job . 191
7.4.2 Using Multiple Page Painters . 193
Phần 2 . 206
Lập trình đồ họa với Java 3D . 206
CHƯƠNG 1 . 207
NHẬP MÔN LẬP TRÌNH TRÊN JAVA 3D . 207
1.1 Tổng quan về Java 3D API ™ . 207
1.2 Các vấn đề cơ bản về Java 3D API™ . 208
1.3 Xây dựng đồ thị khung cảnh . 208
1.3.1 Thừa kế cấp cao từ Java 3D API . 214
1.4 Cách thức để viết một chương trình Java 3D . 216
1.4.1 Công thức đơn giản để viết một chương trình Java 3D . 216
1.5 Một vài thuật ngữ trong Java 3D . 221
1.6 Ví dụ đơn giản: HelloJava3Da . 223
1.6.1 Các lớp của Java 3D Classes được sử dụng trong HelloJava3Da . 229
Tạo nên hình lập phương có kích thước được định ra bởi các giá trị cho trước. . 233
1.7 Quay hình lập phương . 233
1.7.1 Sự kết hợp của các phép biến hình: HelloJava3Db . 235
1.8 Khả năng và hoạt động . 236
1.8.1 Dịch các nội dung . 236
1.8.2 Khả năng . 237
1.9 Thêm vào các hành vi animation . 239
Lập trình đồ họa trên Java 2D và 3D
1.9.1 Định nghĩa các hành vi animation . 240
1.9.2 Các hàm biến đổi về thời gian: Ánh xạ một hành vi với thời gian . 241
1.9.3 Lập danh mục các vùng . 242
1.9.4 Ví dụ về hành vi: HelloJava3Dc . 243
1.9.5 Phép biến hình và kết hợp các hành vi .Ví dụ: HelloJava3Dd . 246
CHƯƠNG 2 . 251
Tạo các hình . 251
2.1 Hệ tọa độ thế giới ảo . 251
2.2 Visual Object Definition Basics . 252
2.2.1 An Instance of Shape3D Defines a Visual Object . 252
2.2.2 Node Components . 254
2.2.3 Defining Visual Object Classes . 255
2.3 Các lớp tiện ích hình học . 256
2.3.1 Box . 257
2.3.2 Cone . 259
2.3.3 Cylinder . 259
2.3.4 Sphere . 260
2.3.5 More About Geometric Primitives . 261
2.3.6 ColorCube . 261
2.3.7 Example: Creating a Simple Yo-Yo From Two Cones . 261
2.4 Các lớp toán học . 267
2.4.1 Point Classes . 271
2.4.2 Color Classes . 272
2.4.3 Vector Classes . 274
2.4.4 TexCoord Classes . 275
2.5 Các lớp hình học . 276
2.5.1 GeometryArray Class . 277
2.5.2 Subclasses of GeometryArray . 284
2.5.3 Subclasses of GeometryStripArray . 286
2.5.4 Subclasses of IndexedGeometryArray . 293
2.5.5 Axis.java is an Example of IndexedGeometryArray . 296
2.6 Appearance and Attributes . 296
2.6.1 Appearance NodeComponent . 298
2.6.2 Sharing NodeComponent Objects . 298
2.6.3 Attribute Classes . 299
2.6.4 Example: Back Face Culling . 310
2.7 Bounds and Scope . 320
2.7.1 Bounds Node Components . 321
2.7.2 BoundingLeafa Node . 325
2.7.3 Scope . 327
2.8 Hình học nâng cao . 329
2.8.1 Multiple Geometries in a Single Shape3D . 329
2.8.2 GeometryArray . 332
2.8.4 AlternateAppearance . 340
2.9 Clipping – Cắt xén . 343
2.9.1 View Defines a Frustum . 343
2.9.2 Clip Node . 345
2.9.4 ModelClip Example . 346
CHƯƠNG 3 . 350
TẠO NỘI DUNG . 350
Lập trình đồ họa trên Java 2D và 3D
3.1 Nội dung chính . 350
3.1.1 GeometryInfo . 351
3.2.1 Một ví dụ đơn giản về GeometryInfo . 351
3.2.2 Sử dụng GeometryInfo . 352
3.2.3 Một số lớp thông dụng có liên quan đến GeometryInfo . 353
Loaders . 358
Một ví dụ đơn giản sử dụng leader. . 359
Các loader phổ biến . 360
3.3.3 Giao diện của gói Loader và lớp cơ sở . 361
Viết một loader . 365
Công việc của một loader . 365
Hàm tạo lớp Loader . 366
Viết một File Loader đơn giản . 368
Text2D . 379
3.5.1 Ví dụ Text2D đơn giản . 380
3.5.2 Lớp Text2D . 380
Text3D . 382
Một ví dụ Text3D . 382
Những lớp liên quan để tạo ra đối tượng Text3D . 384
Nền không gian đồ họa . 391
Một ví dụ background . 391
Lớp Background . 392
CHƯƠNG 4 . 396
TƯƠNG TÁC . 396
4.1 Hành vi: Cơ sở của tương tác và hoạt hình . 397
4.1.1 Ứng dụng của hành vi . 397
4.1.2 Tổng quan lớp Behaviour . 399
4.2 Cơ bản về hành vi . 399
4.2.1 Viết một lớp Behaviour . 400
4.2.2 Sử dụng một lớp Behaviour . 405
4.2.3 Các hàm API trong lớp Behaviour . 409
4.3 Điều kiện kích hoạt: Cách kích hoạt các hành vi . 412
4.3.1 Điều kiện kích hoạt . 413
4.3.2 WakeupCriterion . 414
4.3.3 Quy định lớp WakeupCriterion . 414
4.3.4 Thành phần của WakeupCondition . 430
4.4 Lớp Behaviour tiện ích xử lý bàn phím . 432
4.4.1 Một ví dụ đơn giản . 433
4.4.2 Lớp KeyNavigatorBehaviour và KeyNavigator . 435
4.5 Lớp tiện ích tương tác với chuột . 437
4.5.1 Sử dụng lớp MouseBehaviour . 437
4.5.2 Mouse Behaviour Foundation . 442
4.5.3 Các lớp MouseBehaviour . 444
4.5.4 Mouse Navigation . 447
4.6 Picking Object . 450
4.6.1 Using Picking Utility Classes . 454
4.6.2 Các hàm API cơ bản trong các lớp Picking . 458
4.6.3 Các lớp picking . 467
4.6.4 Các lớp Picking Behavior . 471
CHƯƠNG 5 . 474
Lập trình đồ họa trên Java 2D và 3D
Hoạt Hình . 474
Animation - Hoạt hình: . 476
Đối tượng Interpolator và Alpha với hoạt ảnh dựa thời gian . 477
Alpha . 477
Sử dụng các đối tượng Interpolator và Alpha: . 480
Ví dụ sử dụng lớp Alpha và RotationInterpolator: . 480
Alpha API: . 486
Các lớp hành vi Interpolator : . 489
Core Interpolator API: . 504
Các lớp đối tượng nội suy đường: . 513
Lớp Billboard : . 522
Sử dụng đối tượng Billboard . 523
Chương trình ví dụ sử dụng Billboard . 525
Giao diện lập trình ứng dụng của Billboard (Billboard API) . 529
OrientedShape3D . 531
Giao diện lập trình ứng dụng của OrientedShape3D . 532
Ví dụ sử dụng OrientedShape3D . 533
Hoạt ảnh mức chi tiết (Level Of Detail Animations) . 535
Sử dụng đối tượng DistanceLOD . 536
Các lỗi thường gặp khi sử dụng LOD . 537
Ví dụ sử dụng DistanceLOD . 537
Giao diện lập trình ứng dụng DistanceLOD API . 544
Morph . 545
Sử dụng đối tượng Morph . 546
Ví dụ sử dụng Morph . 547
Giao diện lập trình ứng dụng Morph API . 553
Giao diện GeometryUpdater . 554
Sử dụng GeometryUpdater . 555
Chương trình ví dụ hệ thống phân tử đài phun nước sử dụng GeometryUpdater
. 556
Lời nói đầu

MẸO: Like để tham gia cộng đồng CÔNG PHÁ TRẮC NGHIỆM
Các em có thể share tài liệu này trên FB của mình nếu cảm thấy hay-->

THÀNH VIÊN MỚI NHẤT

  • nguyennhung98hd@gmail.com
  • atttqp@gmail.com
  • dungnvt2k1@gmail.com
  • sophiahundson@gmail.com
  • tuanlinhidol@gmail.com

THÀNH VIÊN VIP MỚI

  • oanh2082000@gmail.com
  • luyengvct@gmail.com
  • phamminhhanh755@gmail.com
  • lethingocthuan@gmail.com
  • phuclee2000@gmail.com
Scroll