Khi ánh xạ bề mặt của một hình cầu bằng gạch, làm thế nào bạn có thể đối phó với biến dạng cực?


24

Thật dễ dàng để đối phó với cách các vị trí tương tác trên lưới Cartesian sạch. Đó chỉ là toán học vani. Và bạn có thể bỏ qua hình dạng bề mặt của hình cầu cho một bó của nó nếu bạn muốn cắt bớt các cực hoặc một cái gì đó. Nhưng tôi tiếp tục đưa ra ý tưởng cho các trò chơi trong đó không gian địa cực quan trọng. ARG mã hóa địa lý và roguelike toàn cầu và công cụ.

Tôi muốn các vị trí hình vuông (ish?) - đại diện hợp lý bằng các ô vuông có cùng kích thước trên toàn cầu, dù sao đi nữa.

Đây phải là một vấn đề được giải quyết, phải không?

Các giải pháp là gì?

ETA:

Tại xích đạo - và giả sử rằng các vị trí hình vuông của bạn nhỏ một cách hợp lý, nó đủ gần để bạn có thể thoát khỏi việc có một hình vuông trong các hàng phía bắc và phía nam của hàng xích đạo nhất. Và bạn có thể có thể thoát khỏi điều đó bằng cách chỉ cần vẫy tay với sự khác biệt lên đến 45 độ hoặc hơn thế. Nhưng cuối cùng, bạn cần phải có ít hình vuông hơn trong một hàng chu vi cực. Nếu tôi giảm độ dài của hàng xuống một lần và bù các hình vuông xuống 1/2 thì chúng giống như hình lục giác và việc mã hóa để theo dõi các kết nối tương đối dễ dàng. Nhưng khi bạn nhận được cực, nó sẽ ngày càng cực đoan hơn.

Chiếu bề mặt của thế giới lên bề mặt của một khối lập phương thật hấp dẫn. Nhưng tôi nghĩ rằng phải có các giải pháp thanh lịch hơn đã được sử dụng.

Nếu tôi đã làm khối lập phương (không mổ xẻ nó thêm thông qua trắc địa) Có bất kỳ ưu và nhược điểm nào liên quan đến việc đặt cực ở trung tâm của một mặt hoặc ở đỉnh của ba cạnh không?


1
Bạn có thể giải thích ý của bạn về "hình vuông (ish)" không? Làm thế nào squarish là "vuông (ish)"?
Steve H

Câu trả lời:


3

Tôi nghĩ rằng bạn đang tìm kiếm một lưới trắc địa . Rất nhiều người xấp xỉ trái đất với một khối lập phương:

Hầu hết các vấn đề bản đồ sẽ biến mất trên Trái đất đa diện

Carlos A. Furuti có rất nhiều bản đồ trái đất xếp thành hình khối

Bạn cũng có thể quan tâm đến phép chiếu quincuncial Peirce ánh xạ toàn bộ Trái đất thành một hoặc hai hình vuông.

Các icosahedron (bản đồ Dymaxion; "Cách tốt nhất để pixel hóa một hình cầu là gì?" ) Cho độ méo ít hơn một chút, nhưng phức tạp hơn.


9

Tôi đã luôn muốn xem một trò chơi trong đó bản đồ hình cầu sử dụng một khối đa diện thông thường của một số loại thay vì chơi thế giới trên một hình xuyến. Kỹ thuật này được gọi là bản đồ Dymaxion . (nguồn: grunch.net )văn bản thay thế         

Tôi muốn giới thiệu một Icosahedron . Vẽ hình tam giác hiện tại sao cho nó thẳng hàng trên một cạnh của hình vuông. Khi người chơi di chuyển khỏi hình tam giác, kéo lên hình tam giác tiếp theo và lập lại bản đồ đó. Các tọa độ của người chơi sau đó sẽ được ánh xạ vào phần mới. Vì vậy, mỗi phần trên bản đồ của bạn có hệ thống tọa độ riêng. Ngoài ra, bạn sẽ cần vẽ nền cho 3 phần liền kề và 9 phần liền kề. Tôi không nghĩ người dùng sẽ có thể xác định cách thức triển khai nếu nó được thực hiện tốt.

Dưới đây là một ví dụ về cách thức này có thể hoạt động.

Tất nhiên sau khi đọc xong, có lẽ bạn sẽ sử dụng bản đồ hình xuyến cổ điển và tôi sẽ chờ đợi để xem một vũ trụ đa diện thực sự.


Tôi sẽ không sử dụng một hình xuyến. Tôi có thể sử dụng một hình trụ giống như các trò chơi dân sự. Nhưng, do thiếu các giải pháp tuyệt vời, tôi nghiêm túc nghiêng về một khối lập phương. Một khối lập phương là một khối đa diện! :)
clweek

5

Nếu bạn tạo một hình cầu bằng cách sử dụng cơ sở trắc địa, vùng cực được đối xử không khác gì bất kỳ khu vực nào khác về khoảng cách đỉnh tạo điều kiện cho ánh xạ uv đồng nhất.

Hầu hết các ứng dụng mô hình hóa cho phép bạn tạo một hình cầu nguyên thủy bằng cách sử dụng thiết kế trắc địa.


Vấn đề là bạn sẽ nhận được kim cương thay vì hình vuông trong trường hợp này và đó không phải là điều OP muốn.
Kornel Kisielewicz

Trừ khi tôi thiếu một cái gì đó, điều đó không mang lại cho tôi các khu vực dễ phối hợp hơn và lập bản đồ và liên kết ... phải không?
clweek

Trắc địa dường như là cách để đến với tôi, không thể nghĩ ra bất kỳ lựa chọn nào khác cho việc phân chia thông thường. Nếu bạn thực sự cần các vùng hình vuông, chắc chắn bạn có thể tạo một vùng hình vuông, tập trung vào tâm hình tam giác, mặc dù nó trùng với các ô khác. Đối với các hình cầu đủ lớn (và hình tam giác đủ nhỏ), phần bù giữa các vùng hình vuông và các mặt tam giác liền kề sẽ không thể bỏ qua. Điều đó sẽ duy trì lợi thế của việc có thể mô tả các tương tác cục bộ (tức là cùng một hình vuông) trong cùng một hệ tọa độ, phải không?
MrCranky

Tôi nghĩ rằng có một số hình dạng trắc địa có thể đưa ra các hình vuông aproximate nếu thực sự cần thiết.
tốc

Bạn nhận được kim cương thay vì hình vuông, nhưng điều đó khá dễ dàng để thực hiện một biến đổi để sửa nó. Không có cực đảm bảo.
ChrisE

5

Không có cách nào để "ánh xạ" một hình cầu có hình vuông (hoặc hình chữ nhật) và tất cả chúng đều tham gia tại các đỉnh "chung".

Tuy nhiên, liệu có khả thi để tạo ra "chế độ xem cục bộ" theo yêu cầu không? Không gian vấn đề không thực sự được nêu trong câu hỏi, nhưng nếu tôi đang làm việc ở một nơi mà tôi muốn ngắm cảnh thành phố nhưng muốn có thể quay vòng thế giới, tôi có thể tạm thời đặt lưới lên một phần "đủ phẳng" của thế giới. Nguồn gốc của lưới sẽ là bất cứ nơi nào trung tâm địa phương của bạn và bình thường tại thời điểm đó phù hợp với bình thường của bề mặt hành tinh.

Sau đó, khi một bước ra khỏi lưới điện, một cái mới được tạo ra theo yêu cầu.

Điều này có thể hoặc không thể làm việc cho OP, nhưng đối với một số người nó có thể hữu ích.


4

Lấy một khối lập phương, với khoảng cách giữa các đỉnh và tâm của khối lập phương bằng bán kính mong muốn. Bạn có một hình cầu được tạo thành từ 6 hình tứ giác.

Bây giờ trong mỗi bước, lấy mỗi hình tứ giác, chia thành 4 và di chuyển 5 đỉnh mới (một ở giữa và 4 trên các cạnh - cảnh báo, chúng được CHIA SẺ) ra khỏi trung tâm sao cho chúng thích theo ý muốn bán kính.

Không, phương pháp này không hoàn hảo, nhưng ít nhất nó là một phân phối ít nhiều bằng nhau trên quả cầu.


3
Sự biến dạng thực sự khá nghiêm trọng với điều này - các hình tứ giác ở giữa mặt sẽ gần hình vuông, và những cái gần các góc sẽ bị biến dạng xấu.
JasonD

@JasonD: Nó vẫn sẽ tốt hơn tất cả kim cương. Đề xuất một giải pháp ít bị biến dạng hơn nếu bạn muốn downvote.
Kornel Kisielewicz

Chà, bạn có thể ước chừng một quả cầu khá độc đáo với phân chia trắc địa, nhưng tôi không chắc là tôi thấy nó giúp tôi như thế nào.
clweek

1

Với dymaxion max, bạn đã có các hình lục giác được đặt theo hình tam giác trên một mặt phẳng nhưng vì bản đồ không thực sự bằng phẳng nên chúng là hình ngũ giác. Nếu bạn muốn cho phép người chơi giữ hướng của họ khi họ đi qua một số phần nhất định, bạn sẽ cần tách bản đồ vị trí khỏi cách chúng được lưu trữ thực sự. Đối với những thứ như các tòa nhà, bạn có thể lưu trữ một bản đồ nhỏ các vectơ hình chữ nhật và sau đó chỉ cần thực hiện một công việc khắc nghiệt là vẽ chúng theo bất kỳ hướng nào bạn cần.

Bạn sẽ không cần phải luôn làm cho bên trong trông giống như đã có một trận động đất gần đây bởi vì tôi nghĩ rằng người chơi trung bình thậm chí không nên nhắm mắt về việc đi vào một cánh cửa ở phía đông bắc mà đi vào một màn hình với cửa trước được định hướng do phía nam và toàn bộ tòa nhà trên một lưới điện thông thường.

Mặc dù nếu bạn chỉ lưu trữ các tòa nhà và các trang web quan trọng như vậy thì bạn đã hoàn thành tất cả công việc cho một mẫu bóng đá. Kết quả cuối cùng là bạn đang lưu trữ thế giới dưới dạng một số mẫu không vuông và sau đó buộc nó vào một lưới như vậy ở bất cứ nơi nào người chơi đang ở.

Mặc dù có một lựa chọn khác - nếu bạn không cung cấp cho họ tất cả chính xác đó là một dấu hiệu của hình cầu, giống như nếu bạn chỉ cho họ một la bàn có độ chính xác thấp để cho họ biết bốn hướng trực giao nào gần nhất với Bắc, thì bạn có thể thoát khỏi chỉ cần thực hiện các góc quay 90 độ cho bất kỳ vị trí nào mà người chơi đã đến. Với mức đồ họa giả định, không phải là bạn phải lo lắng về một tòa nhà cao tầng che khuất một số ô cửa. Chừng nào họ biết họ có ở gần cực hay không thì họ không nên quá buồn về việc la bàn thay đổi trên họ, trừ khi các NPC ở đó bảo họ đi về hướng Đông Bắc hoặc họ cố gắng thực sự đi đến tọa độ kinh độ và vĩ độ cụ thể .


1

Bạn đang hỏi một câu hỏi mà những người tạo ra bản đồ đã hỏi từ lâu :)

Chắc chắn nhất là đọc lên Bản đồ dự án để có được một số hiểu biết và ý tưởng có thể giúp đỡ. Thử thách đại diện cho bề mặt của một quả cầu trên / với mặt phẳng 2D phẳng là điều mà mọi người đã suy nghĩ trong một thời gian dài.

Câu trả lời ngắn gọn là, không bạn không thể làm điều đó. Đó là lý do tại sao khi bạn nhìn vào bản đồ thế giới, một số phần bị biến dạng và một số phần thì không. Thông thường đó là các cực vì hầu hết các bản đồ là về các khu vực không phân cực.

Như các câu trả lời khác đã nói, câu trả lời là sử dụng một hình dạng khác (ví dụ hình lục giác hoặc hình tam giác) hoặc tự động tạo bản đồ của bạn một cách nhanh chóng cho quan điểm hiện tại của người dùng.

Gạch vuông khá dễ quản lý không có câu hỏi, nhưng tôi không nghĩ việc tạo một bản đồ hex ốp lát là khó như vậy.

Đây là một bài viết cũ hơn từ GameDev.net bạn có thể thấy hữu ích. Đó là về việc thực hiện các gạch hình lục giác và lục giác trên lưới.

http://www.gamedev.net/reference/articles/article747.asp

Googling "ốp lát bản đồ hex" sẽ cung cấp cho bạn rất nhiều lượt truy cập, một số hữu ích thì không.


1

Tôi đang vận hành một số máy ảnh mạng PTZ của Sony, model SNC-RX570N, với mục đích theo dõi các vật thể chuyển động trên bầu trời và định hình tam giác để có được các bản nhạc 3D thực sự. Một trong những khía cạnh của thiết lập ban đầu là xác định "các chuyến tham quan" không được giám sát, theo đó các điểm tham chiếu phải được chọn. Có một số lượng hạn chế các điểm tham chiếu có thể lập trình như vậy và tôi muốn bao phủ toàn bộ bán cầu ("thiên cầu") từ đường chân trời đến thiên đỉnh, không để lại khoảng trống.

Vì vậy, tôi đã tự hỏi mình câu hỏi "Số lượng điểm tối thiểu mà tôi cần cho phạm vi bảo hiểm đầy đủ là bao nhiêu (không có khoảng trống)?". Tôi đã phát hiện ra rằng tôi thực sự không thể tìm ra điều này.

Máy ảnh có pan vô tận (360 độ) và độ nghiêng 0-90 độ, vì vậy về mặt lý thuyết là có thể đạt được phạm vi bao phủ hoàn chỉnh. Màn hình camera, dành cho sử dụng máy tính, có tỷ lệ khung hình 4: 3 hình chữ nhật. FOV ngang thô ở zoom 1x là 58 độ.

Có hai cách để biểu diễn vấn đề, tùy thuộc vào phép chiếu mà người ta chọn: - trực tràng như Mercator, theo đó đường chân trời là "đường xích đạo" và thiên đỉnh là "cực", trải rộng trên 360 độ pan. - cực, theo đó đường chân trời là chu vi của vòng tròn và thiên đỉnh là tâm của vòng tròn.

Tôi thấy cực là cách dễ nhất để tiếp cận vấn đề. Tôi có thể khắc vòng tròn thành các lát bánh có kích thước FOV nằm ngang và điều này cho tôi biết tôi cần 7 điểm xung quanh vòng tròn với 58 độ H-FOV đó. Càng xa càng tốt. Bán kính bên trong chỉ đơn giản là độ nghiêng hoặc V-FOV, là 3/4 của 58 độ. Cho đến nay rất tốt - Tôi đã bao phủ các phần ngoài cùng của vòng tròn.

Nhưng nó trở nên khó khăn hơn khi chúng ta tiếp cận thiên đỉnh. Tôi sẽ cho rằng một trong những quan điểm của tôi chính xác là ở đỉnh cao. Làm cách nào để ánh xạ hình chữ nhật của tôi vào khu vực xung quanh tâm của vòng tròn? Hình dạng đó có phải là hình chữ nhật, hình elip, gọng kính hay không? Làm thế nào để tôi điền vào giữa bit giữa phạm vi bảo hiểm bên ngoài gọn gàng đẹp đẽ và hình dạng kỳ lạ này ở thiên đỉnh? Lúng túng.

Tôi lưu ý rằng góc vững chắc của một bán cầu là 2 * PI Steradian và góc FOV của tôi ở mức zoom 1x là 0,762 st, nghĩa là tôi cần tối thiểu 9 lần. Tôi nghi ngờ câu trả lời cao hơn 9.


Làm thế nào về điều này .. Vòng tròn có PI ^ 2 rad ^ 2 diện tích và hình chữ nhật FOV có diện tích 0,75 rad ^ 2. Vì vậy, ngây thơ, chúng tôi cần 13,16 điểm phải được làm tròn để bảo hiểm đầy đủ đến 14 điểm. Câu hỏi bây giờ là - làm thế nào để đặt chúng?
Andrew

0

Nếu bạn muốn tạo ra một mạng lưới trên toàn thế giới, tôi khuyên bạn nên phân chia hành tinh ở các quốc gia hoặc lục địa và tạo một lưới vuông tập trung chính xác vào mỗi lưới. Hãy để đại dương bao phủ các đường nối.


Trên thực tế, câu hỏi của tôi là "vì rõ ràng tôi không thể làm những gì bạn nghĩ tôi thực sự hỏi, thay vào đó tôi có thể làm gì?"
clweek

Tốt lắm, chỉnh sửa rồi.
zaratustra

Vâng, tôi đoán rằng tôi đã bị theo dõi bởi phần khác. Tôi đã suy nghĩ về việc triển khai Bản đồ Dymaxion của Fuller nhưng làm việc với các ô hình tam giác có vẻ giống như một cụmF * như vấn đề ốp lát cực mà tôi bắt đầu. Vì vậy, với đề xuất của bạn, nếu ai đó đi thuyền từ Bắc Mỹ đến Bắc Á và tọa độ có vấn đề (có thể họ có thể thiết lập các căn cứ nổi hoặc một cái gì đó) làm thế nào để tôi khâu các đường nối lại với nhau? Chỉ cần đưa ra một bảng kết nối loại NA: A5 -> A: Z485?
clweek

Tôi đoán. Mặc dù nếu họ quản lý để làm điều đó, tôi chỉ cần cho họ một phần thưởng và đưa họ ra khỏi lưới cho đến khi họ đi đâu đó hợp lý.
zaratustra
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.