Điều bạn đang tìm kiếm là quy mô dự án. Cách dễ nhất để thực hiện tính toán này là sử dụng các tọa độ đồng nhất, lấy một hình chữ nhật (giống như hình trong hình đầu tiên bên dưới) mà V là "vô cùng xa bên phải" và tìm một phép biến đổi phóng xạ bản đồ hình chữ nhật này đến hình thang bức tranh thứ hai. Các đỉnh của hình chữ nhật là (0 | 0), (0 | d1), (b5 | d1), (b5 | 0) và các đỉnh tương ứng của hình thang là (0 | 0), (0 | d1), (b5 | d5), (b5 | 0).
Kể từ đây là những bốn điểm trong đó không có ba thẳng hàng, chúng tôi có thể tìm thấy một ma trận duy nhất (lên đến rộng) M cho sự chuyển đổi này. Sau khi một số toán học, nó chỉ ra rằng ma trận này là:
[d1*b5,0,0]
[0,b5*d5,0]
[d1-d5,0,b5*d5]
Nếu bạn muốn tìm tọa độ b3 và d3, ví dụ, bạn có thể nhân ma trận này với tọa độ đồng nhất của các điểm ở giữa dòng , tức là vectơ (0,5 * b5, d1,1)^T và bạn nhận được các tọa độ đồng nhất của điểm (b3 | d3), có thể được chuyển đổi thành các tọa độ Euclide bằng dehomogenisation, tức là chia hai thành phần đầu tiên cho phần thứ ba. Nói chung, nếu bạn có hai điểm (b1 | d1) và (bn | dn) và muốn biết tọa độ của các điểm cân bằng n-2 nằm ngang trên thang tỷ lệ như thế này, bạn có thể tính toán các tọa độ bi và di là như thế này (trong trường hợp của bạn, n sẽ là 5, tất nhiên):
let M := matrix [[d1*bn, 0, 0], [0, bn*dn, 0], [d1-dn, 0, bn*dn]]
let v := ((i-1)/(n-1)*bn, d1, 1)
let (x,y,z) := M*v
let bi := x/z and di := y/z
như bạn thấy, đây là một thuật toán đơn giản để tính toán tọa độ của các điểm projectively cách đều, và nó generalises độc đáo để tùy ý số điểm.
Nếu bạn muốn có một công thức khép kín, bạn có thể tính toán bi và di trực tiếp như:
let bi := (bn*d1*(i-1))/(dn*n+(d1-dn)*i-d1)
let di := d1*dn*(n-1)/(dn*n+(d1-dn)*i-d1)
Nó có thể là http://math.stackexchange.com mà bạn muốn. 1 cho hình ảnh anyway. – Popnoodles
Đầu tiên - câu hỏi này thật tuyệt vời. Thứ hai - @popnoodles có lẽ là chính xác. Thứ ba - bạn đang tìm kiếm các giá trị độ dài cho từng phân đoạn dòng? –
@popnoodles: cảm ơn tôi sẽ đăng ở đó ngay – razzak