Các đường tròn lớn trong phép chiếu hình chữ nhật


12

Chỉ để kiểm tra xem tôi đang đi đúng hướng:

Có phải tất cả các vòng tròn lớn trên hình cầu và trong hình chiếu tương đương (tức là các cặp vĩ độ, kinh độ) đều:

  1. kinh tuyến (tức là đi cực đến cực)
  2. của mẫu tan latitude = sin360(longitude + rotation) * amplitude + offset

(với các hạn chế bổ sung đối với các kết hợp bù / biên độ - rõ ràng, tất cả các đường tròn lớn có biên độ 0 cũng có bù 0 - đường xích đạo).

Hoặc có những đường dẫn vòng tròn lớn không phù hợp với sơ đồ này (một lần nữa, chỉ trong một hệ tọa độ kinh độ - vĩ độ, không phải trên các phép chiếu bản đồ khác).

Lưu ý: Tôi đã thêm tanở trên sau khi đăng câu hỏi, trong một phản ứng để trả lời xuất sắc. Hóa ra offsetsau đó luôn là 0.


Mẫu số 2 không phải là một tập hợp các cặp (vĩ độ, kinh độ). Nó có nghĩa là gì? Và tại sao nó phụ thuộc vào ba tham số ( rotation, amplitudeoffset) khi các vòng tròn lớn tự nhiên chỉ có hai tham số (mỗi tham số tương ứng với một cặp điểm đối xứng có tính chất "cực" với nó)?
whuber

Vâng, một là dư thừa, nhưng tôi không có sẵn công thức. Như đã lưu ý, amplitude==0ngụ ý offset=0; hai cái này rõ ràng được ghép nối Xem câu hỏi cập nhật cho người mất tích latitudeđể làm cho mối quan hệ được hình thành tốt đẹp.
Erich Schubert

Câu trả lời:


11

Mặc dù trắc địa trông hơi giống sóng hình sin trong một số phép chiếu, nhưng công thức không chính xác.

Đây là một trắc địa trong phép chiếu Equir chữ nhật. Rõ ràng nó không phải là một sóng hình sin:

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

(Hình ảnh nền được lấy từ http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)

Bởi vì tất cả các phép chiếu Equir chữ nhật là các phép biến đổi affine của phép này (trong đó tọa độ x là kinh độ và tọa độ y là vĩ độ), và các phép biến đổi affine của sóng sin vẫn là sóng hình sin, chúng ta không thể mong đợi bất kỳ phép đo trắc địa nào ở bất kỳ dạng nào của Phép chiếu hình chữ nhật là sóng hình sin (ngoại trừ Xích đạo, vẽ đồ thị dưới dạng đường nằm ngang). Vì vậy, hãy bắt đầu từ đầu và tìm ra công thức chính xác.

Đặt phương trình của trắc địa như vậy ở dạng

latitude = f(longitude)

cho một hàm f được tìm thấy. (Cách tiếp cận này đã từ bỏ các kinh tuyến, không thể được viết dưới dạng như vậy, nhưng nếu không thì hoàn toàn chung chung.) Chuyển đổi sang tọa độ 3D Cartesian (x, y, z) cho

x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))

Trong đó l là kinh độ và bán kính đơn vị được giả định (không mất bất kỳ tính tổng quát nào). Vì trắc địa trên mặt cầu là giao điểm với các mặt phẳng (đi qua tâm của nó), nên phải tồn tại một vectơ không đổi (a, b, c) - được định hướng giữa các cực của trắc địa - mà

a x + b y + c z = 0

bất kể giá trị của l có thể là gì. Giải cho f (l) cho

f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)

cung cấp c là khác không. Rõ ràng, khi c tiến đến 0, chúng ta đạt được trong giới hạn một cặp kinh tuyến khác nhau 180 độ - chính xác là trắc địa mà chúng ta đã bỏ rơi ngay từ đầu. Vì vậy, tất cả là tốt. Nhân tiện, mặc dù xuất hiện, điều này chỉ sử dụng hai tham số bằng a / c và b / c.

Lưu ý rằng tất cả các trắc địa có thể được quay cho đến khi chúng vượt qua đường xích đạo ở kinh độ 0 độ. Điều này chỉ ra rằng f (l) có thể được viết theo nghĩa của ((l-l0) trong đó l0 là kinh độ của giao thoa xích đạo và f0 là biểu thức của giao thoa trắc địa tại Kinh tuyến gốc. Từ đó, chúng ta có được công thức tương đương

f(l) = ArcTan(gamma * sin(l - l0))

trong đó -180 <= l0 <180 độ là kinh độ của đường xích đạo (khi trắc địa đi vào Bắc bán cầu khi đi về phía đông) và gamma là một số thực dương. Điều này không bao gồm các cặp kinh tuyến. Khi gamma = 0, nó chỉ định Xích đạo có điểm bắt đầu ở kinh độ l0; chúng ta luôn có thể lấy l0 = 0 trong trường hợp đó nếu muốn tham số hóa duy nhất. Vẫn chỉ có hai tham số, được đưa ra bởi l0 và gamma lần này.


Mathematica 8.0 đã được sử dụng để tạo ra hình ảnh. Trong thực tế, nó đã tạo ra một "thao tác động" trong đó vectơ (a, b, c) có thể được điều khiển và trắc địa tương ứng được hiển thị ngay lập tức. (Điều đó thật tuyệt.) Đầu tiên chúng ta có được hình nền:

i = Import[
   "http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
    Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]

Đây là toàn bộ mã:

Manipulate[
 {a, b, c} = {Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]};
 Show[Graphics[{Texture[i], 
    Polygon[{{-\[Pi], -\[Pi]/2}, {\[Pi], -\[Pi]/2}, {\[Pi], \[Pi]/2}, {-\[Pi], \[Pi]/2}}, 
     VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}], 
  Plot[ArcTan[(a Cos[\[Lambda]] + b Sin[\[Lambda]]) / (-c)], {\[Lambda], -\[Pi], \[Pi]}, 
   PlotRange -> {Automatic, {-\[Pi]/2, \[Pi]/2}}, PlotStyle -> {Thick, Red}]],
   {u, 0, 2 \[Pi]}, {v, -\[Pi]/2, \[Pi]}]

Cảm ơn. Tôi đã mất nó arctanở đâu đó. Đoán tôi bắt đầu với arctan latitudemột nơi nào đó.
Erich Schubert

Tôi ước tôi có thể bỏ phiếu này nhiều hơn một lần!
Ian Turton
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.