Làm thế nào để tính toán độ méo trên Phép chiếu hình chữ nhật?


28

Tôi đang cố gắng tính toán độ méo để tôi có thể làm biến dạng lớp phủ văn bản và biểu mẫu để khớp chính xác với hình ảnh của một phép chiếu tương đương.

Vậy, làm thế nào để tính toán độ méo ở một vĩ độ nhất định trên phép chiếu tương đương 1: 45.000.000 (giả sử, 2000 pixel rộng x 1000 pixel cao)?

Tôi đã cố gắng tìm ra bài đăng này và các liên kết của nó không có kết quả: Làm thế nào để tạo ra một Chỉ số Tissot chính xác?

Tôi không phải là một chuyên gia, chỉ là một người nghiệp dư rất quan tâm, vì vậy xin vui lòng cho tôi biết!

Cảm ơn nhiều!


Cảm ơn câu trả lơi nhanh chong! Đây là câu chuyện dài; Tôi hy vọng nó là rõ ràng hơn.

Tôi đang trực quan hóa / ánh xạ dữ liệu bằng ngôn ngữ lập trình Xử lý và muốn dữ liệu được ánh xạ 2D (phông chữ và vòng tròn có kích thước khác nhau) xuất hiện không bị biến dạng khi được bọc trong quả cầu 3D. Dữ liệu được ánh xạ bằng cách sử dụng x, y và các bản đồ tôi muốn sử dụng làm phông nền đều là hình chiếu này, vì vậy tôi giả sử tôi muốn "khớp" biến dạng này (ví dụ: bằng cách tính toán độ méo qua vĩ độ bằng phương trình Tissot?). Sử dụng ngôn ngữ lập trình tôi có thể làm biến dạng chính xác cả văn bản và vòng tròn. Tôi nghĩ tất cả những gì tôi cần là các phương trình để làm điều đó một cách chính xác.

Đây là bản đồ dữ liệu 2D gốc:

nhập mô tả hình ảnh ở đây

Khi được bọc, nó trông như bị biến dạng, như thế này:

nhập mô tả hình ảnh ở đây

Câu hỏi 10.000 đô la: Làm cách nào tôi có thể làm cho hình ảnh 2D của mình trông không bị biến dạng khi được bọc vào hình cầu 3D?

Để tham khảo, đây là cùng một câu hỏi được hỏi khác nhau trên diễn đàn Xử lý.

Cảm ơn một lần nữa!


Nếu tôi hiểu bạn một cách chính xác, tôi không chắc chắn tôi muốn chuyển hướng sang một hình chiếu chính tả. Tôi muốn bản đồ dữ liệu 2D của mình bao bọc thành mô hình hình cầu 3D có thể tương tác với (ví dụ như quay).

Tôi đang sử dụng chương trình mô hình 3D (Rạp chiếu phim 4D) để bọc một quả cầu bằng hình ảnh "Blue Marble" 2MB (phép chiếu tương đương) từ NASA.

Khi được bọc, nó xuất hiện không bị biến dạng từ tất cả các bán cầu (không chỉ một bán cầu, như một hình chiếu chính tả sẽ là?), Xem: vẫn từ mô hình 3D ở trên. . Đây là một bức ảnh tôi chụp với một phương trình gần đúng với biến dạng tương đương. Bạn sẽ nhận thấy các hình elip hình quả trứng từ hình ảnh 2D trông giống như một vòng tròn khi được bọc vào hình cầu 3D. Tương tự, các hình elip Tissot cũng xuất hiện dưới dạng hình tròn trên hình cầu 3D.

Tissot Indicatoratrix với các vòng tròn bị biến dạng Các vòng tròn bị bóp méo được bọc vào hình cầu 3D

Đây là lý do tại sao tôi đã xem xét các phương trình Tissot ... để tìm ra chính xác hơn sự biến dạng của phép chiếu tương đương ở các vĩ độ khác nhau để tôi có thể làm biến dạng lớp phủ của mình theo đó.

Hy vọng tất cả điều này có ý nghĩa.

Có lẽ bạn nói đúng rằng tôi nên sử dụng chương trình GIS. Tôi vừa tải xuống Cartographica và sẽ xem liệu tôi có thể tìm ra nó không. Bất kỳ đề xuất phần mềm Mac cho một người mới thực hiện nhiệm vụ này?

Cảm ơn một lần nữa.


1
Bạn có thực sự có nghĩa là tính toán biến dạng hoặc bạn thực sự muốn biết làm thế nào để tính toán chính phép chiếu? Có lẽ bạn có thể tạo một hình ảnh có sẵn trên Web để minh họa những gì bạn đang cố gắng thực hiện. Việc bạn sử dụng "kết hợp" cho thấy bạn muốn xác định cách chuyển đổi hình ảnh này sang hình ảnh khác, cho biết bạn cần chỉ định những gì bạn bắt đầu cũng như những gì bạn muốn kết thúc.
whuber

1
Chúng tôi hiểu rằng thật khó để mô tả những gì bạn muốn làm mà không biết biệt ngữ, nhưng có vẻ như bạn đang cố gắng mô tả quá trình hơn là kết quả. Hãy thử bắt đầu với một vấn đề bạn muốn giải quyết, sau đó là kết quả bạn muốn và chúng tôi sẽ cố gắng điền vào các khoảng trống :)
MerseyViking

Về kỹ thuật: bạn muốn chiếu lại từ chiếu equirectangular đến một chính tả ( "Thế giới từ không gian") chiếu. Bạn có thể sử dụng phần mềm nào? Nếu bạn có phần mềm GIS hoặc sẵn sàng mã hóa thư viện trình chiếu, công việc cơ bản được thực hiện cho bạn. Mặt khác, bạn cần thực hiện các phương trình để không dự đoán phép chiếu tương đương (dễ) và chiếu phép chiếu chính tả (không quá khó, nhưng đòi hỏi một số kỹ năng về mã hóa các thói quen số).
whuber

1
Tôi đã thấy bài đăng này và về cơ bản tôi đang cố gắng làm điều tương tự. Tôi muốn vẽ các vòng tròn 2D biến dạng chính xác khi chiếu lên quả cầu 3D. Tôi đã tự hỏi nếu bạn sẽ sẵn sàng chia sẻ thuật toán bạn đã sử dụng cho sự biến dạng của các vòng tròn 2D? Đáng lẽ phải là một bình luận không phải là một câu trả lời, nhưng tôi đã viết nó sai chỗ. Lấy làm tiếc.
HankTurbo

Bạn nên vẽ dữ liệu của mình trong không gian 3D sau đó chiếu nó trở lại hình cầu.
AngelLeliel

Câu trả lời:


5

Làm cách nào để làm cho hình ảnh 2D của tôi trông không bị biến dạng khi được bọc vào hình cầu 3D?

Các tọa độ hình ảnh là vĩ độ và kinh độ, vì vậy bạn cũng vậy

(a) Hủy bỏ nó và chiếu lại nó bằng cách sử dụng phép chiếu gần mặt chính tả hoặc dọc (nghĩa là các hình chiếu trông giống như thế giới từ không gian) hoặc

(b) Kết cấu ánh xạ nó lên mô hình 3D của một hình cầu bằng cách sử dụng lat-lon làm tọa độ kết cấu và hiển thị hình cầu đó bằng thiết bị kết xuất đồ họa 3D.

Hầu hết các GIS làm (a) thường xuyên. Để minh họa (b), đây là một tập hợp các hình ảnh xuất phát từ bản đồ "phẳng" trong câu hỏi được lấy từ một quan điểm quay quanh quả cầu được ánh xạ kết cấu:

Thế giới từ không gian

(Nếu bạn nhìn kỹ vào hình ảnh ngoài cùng bên phải, bạn có thể thấy một kinh tuyến nổi bật qua Thái Bình Dương: đây là "đường may" được hình thành bằng cách bọc hai bên trái và phải của bản đồ lại với nhau.)

Các cơ bản Mathematica lệnh để tạo ra một trong số này là

SphericalPlot3D[1, {a, 0, \[Pi]}, {b, 0, 2 \[Pi]}, Mesh -> None, 
 PlotStyle -> {Texture[i]}, TextureCoordinateFunction -> ({#5, -#4} &), 
 Lighting -> {{"Ambient", White}}, 
 Boxed -> False, Axes -> False, Background -> Black]

Điều này giúp giảm vấn đề ban đầu (vẽ "bản đồ dữ liệu" trên hình cầu) để tạo bản đồ hiển thị các vòng tròn một cách chính xác. Dự đoán tốt nhất cho điều này là Stereographic, bởi vì nó chiếu tất cả các vòng tròn trên quả cầu - bất kể kích thước của chúng - lên các vòng tròn trên bản đồ. Do đó, một thủ tục để vẽ các vòng tròn lớn một cách chính xác trong phép chiếu Equir chữ nhật , như trong câu hỏi, là tạo chúng trong một phép chiếu Stereographic và sau đó hủy chúng thành tọa độ địa lý (lat, lon). Sử dụng (lon, lat) làm (x, y) tọa độ Descartes để tạo bản đồ tương đương với phép chiếu Equir chữ nhật và do đó phù hợp để ánh xạ kết cấu lên hình cầu hoặc để áp dụng phép chiếu Chính tả.


Lưu ý rằng các chỉ thị Tissot không phù hợp như một giải pháp: chúng chỉ đại diện cho các biến dạng cục bộ của các vòng tròn vô hạn . Các vòng tròn đủ lớn để nhìn ở quy mô toàn cầu thậm chí sẽ không còn xuất hiện hình tròn trong hầu hết các dự đoán: chứng kiến ​​sự xuất hiện của chúng trong bản đồ trong câu hỏi. Đó là lý do tại sao chơi trò chơi với các phép chiếu, như được hiển thị ở đây, là điều cần thiết cho một giải pháp tốt.


Cảm ơn cho bài viết rất nhiều thông tin! Tôi đang lấy (b) làm phương pháp tiếp cận của mình và có một bản đồ tương đương được tạo chính xác trong tay, nhưng bị biến dạng cực xấu trong khi ánh xạ bản đồ sang hình cầu 3D. Bạn rất vui lòng giúp đỡ? gis.stackexchange.com/questions/245315/ từ
Sibbs Đánh bạc

2

Giả sử các hình được vẽ bao phủ một phần nhỏ của hình cầu, bạn sẽ có thể có được bằng cách chia tỷ lệ chiều rộng thêm 1 / cos (lat) và để lại chiều cao.

Hình dạng càng lớn và bạn càng đến gần các cực, điều này sẽ càng kém hiệu quả.


Bạn có thể vui lòng giải thích tại sao điều này sẽ làm việc? Có vẻ như nó sẽ thất bại đáng kể ngay cả ở những phần nhỏ của hình cầu gần rìa kết xuất của nó trong các hình ảnh ví dụ.
whuber

Cảm ơn bạn đã chỉnh sửa; Tôi đã loại bỏ downvote một cách phù hợp vì câu trả lời của bạn có vẻ đúng với tôi và có thể sẽ được sử dụng cho ai đó trong tương lai. Tuy nhiên, khi xem xét câu hỏi, dường như không ai có thể quấn những hình nhỏ như vậy quanh quả cầu - và khi họ làm vậy, họ cũng sẽ cần phải đối phó với các cực và mọi nơi khác, tôi nghĩ vậy.
whuber

0

Tôi không thể tìm ra cách thêm một bình luận vì vậy tôi sẽ đưa giải pháp này vào và để người điều hành tranh giành để tìm ra lý do tại sao tôi không thể bình luận.

Ấn tượng đầu tiên của tôi khi đọc câu hỏi của bạn là "Tại sao bạn không thiết kế vòng tròn của mình theo hình chiếu phù hợp như Mercator". Bạn có thể chiếu bản đồ này vào hình chiếu Mercator và xem vòng tròn và biến dạng văn bản của bạn, sửa mọi thứ để trông đẹp mắt và khi bạn chiếu nó lên quả địa cầu của mình, các hình dạng phải chính xác (đó là định nghĩa của phép chiếu phù hợp).


2
Điều này đọc giống như một câu trả lời cho tôi, vì vậy tôi sẽ để lại nó. Nhưng điều đó không chính xác, dựa trên một sự hiểu lầm: các phép chiếu tuân thủ không chiếu tất cả các vòng tròn thành các vòng tròn. Họ làm như vậy chỉ vô cùng. Sự khác biệt là rất lớn: ví dụ, hãy xem xét Mercator làm gì với bất kỳ vòng tròn nào đi quanh trục Trái đất. Nó không thể lập bản đồ thành một vòng tròn - nó phải phá vỡ nó ở đâu đó. Để thảo luận thêm về điều này, xin vui lòng tìm kiếm trang web của chúng tôi cho Tissot .
whuber

1
"Họ làm như vậy chỉ vô cùng." -> "Họ làm như vậy chỉ dành cho những người cực kỳ nhỏ."
Martin F

0

Xem, bản đồ 2D đầu tiên của bạn không có các đặc điểm địa lý được vẽ. Thêm chúng vào bản đồ này (giả sử đường viền châu Phi) và áp dụng biến dạng mà bạn đang nghĩ đến mọi thứ cùng một lúc. Địa lý cũng sẽ được sửa đổi, và khi bạn đặt nó lên quả cầu, nó sẽ sai. Do đó, tôi tin rằng ý tưởng này có một số biến dạng được áp dụng sẽ không hiệu quả.

Bạn có thể có được bằng 2D, bằng cách vẽ đồ họa trong các bản đồ 2D nhỏ có diện tích hạn chế và độ méo chấp nhận được. Bạn có thể cắt bản đồ 2D của mình thành các ô và cho mỗi ô sử dụng phép chiếu "tốt nhất" của riêng nó.

Mặt khác, thật dễ dàng để tạo các điểm trên một vòng tròn trắc địa có bán kính nhất định trên bản đồ 2D. Vì vậy, bạn cần tìm một hàm tính toán lat / long của một điểm ở một khoảng cách nhất định và góc phương vị từ một điểm khác (tìm kiếm "vấn đề trực tiếp Vincenty"). Khi bạn đã có được điều đó, bạn có thể tạo ra một loạt các điểm tương đương ở khoảng cách nhất định từ điểm đó bằng cách thay đổi góc phương vị từ 0 thành 360. Tạo một đa giác trong số các điểm đó trong 2D đòi hỏi nhiều công việc hơn khi vòng tròn trắc địa chứa một cực hoặc giao nhau ranh giới bên trái hoặc bên phải của bản đồ. Kiểm tra các vòng tròn trắc địa có thể trông như thế nào trên bản đồ phẳng ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.