Tôi đang làm việc trên một vấn đề hình học đòi hỏi phải tìm giao điểm của hai vòng cung parabol trong bất kỳ vòng quay nào. Tôi đã có thể quan sát một đường thẳng và một vòng cung parabol bằng cách xoay mặt phẳng để căn chỉnh vòng cung với một trục, nhưng hai parabol không thể vừa với một trục. Tôi đang nghiên cứu về các công thức, nhưng tôi muốn biết liệu có một tài nguyên đã có sẵn cho điều này hay không.Mã hoặc công thức cho giao điểm của hai parabolas trong bất kỳ vòng quay
Trả lời
đầu tiên tôi muốn xác định phương trình cho arc parabol trong 2D mà không quay:
x(t) = ax² + bx + c
y(t) = t;
Bây giờ bạn có thể áp dụng luân phiên bằng cách xây dựng một ma trận xoay:
s = sin(angle)
c = cos(angle)
matrix = | c -s |
| s c |
Áp dụng ma trận đó và bạn sẽ nhận được phương trình tham số xoay:
x' (t) = x(t) * c - s*t;
y' (t) = x(t) * s + c*t;
Điều này sẽ cung cấp cho bạn hai phương trình (đối với x và y) của vòng cung parabol của bạn.
Làm điều đó cho cả vòng cung xoay của bạn và trừ chúng. Điều này cung cấp cho bạn một phương trình như sau:
xa'(t) = rotated equation of arc1 in x
ya'(t) = rotated equation of arc1 in y.
xb'(t) = rotated equation of arc2 in x
yb'(t) = rotated equation of arc2 in y.
t1 = parametric value of arc1
t2 = parametric value of arc2
0 = xa'(t1) - xb'(t2)
0 = ya'(t1) - yb'(t2)
Mỗi phương trình này chỉ là một bậc 2 đa thức. Đây là những dễ dàng để giải quyết.
Để tìm điểm giao nhau bạn giải phương trình trên (ví dụ: tìm gốc).
Bạn sẽ nhận được tối đa hai gốc cho mỗi trục. Bất kỳ gốc nào bằng nhau trên x và y là một điểm giao nhau giữa các đường cong.
Bắt vị trí dễ dàng ngay bây giờ: Chỉ cần cắm gốc vào phương trình tham số của bạn và bạn có thể trực tiếp nhận x và y.
Thật không may, câu trả lời chung yêu cầu giải pháp của đa thức bậc bốn. Nếu chúng ta biến đổi tọa độ sao cho một trong hai parabolas ở dạng chuẩn y = x^2, thì parabola thứ hai thỏa mãn (ax + by)^2 + cx + dy + e == 0. Để tìm giao lộ, hãy giải quyết đồng thời cả hai. Thay thế trong y = x^2, chúng ta thấy kết quả là đa thức bậc bốn: (ax + bx^2)^2 + cx + dx^2 + e == 0. Giải pháp Nils do đó sẽ không hoạt động (sai lầm của mình: mỗi một là đa thức bậc 2 trong mỗi biến riêng biệt, nhưng cùng nhau chúng không).
Thật dễ dàng nếu bạn có CAS trong tầm tay.
Xem giải pháp trong Mathematica.
Chọn một parabol và thay đổi tọa độ để phương trình của nó trở thành y (x) = a x^2 (Biểu mẫu thông thường).
Các parabol khác sẽ có dạng tổng quát:
A x^2 + B x y + CC y^2 + DD x + EE y + F == 0
where B^2-4 A C ==0 (so it's a parabola)
Hãy giải quyết một trường hợp số:
p = {a -> 1, A -> 1, B -> 2, CC -> 1, DD -> 1, EE -> -1, F -> 1};
p1 = {[email protected]@Reduce[
(A x^2 + B x y + CC y^2 + DD x + EE y +F /. {y -> a x^2 } /. p) == 0, x]}
{{x -> -2,11769}, {x -> -0,641445}, {x -> 0,379567- 0,76948 I}, {x -> 0,379567+ 0.76.948 Tôi}}
Hãy cốt truyện nó:
Show[{
Plot[a x^2 /. p, {x, -10, 10}, PlotRange -> {{-10, 10}, {-5, 5}}],
ContourPlot[(A x^2 + B x y + CC y^2 + DD x + EE y + F /. p) ==
0, {x, -10, 10}, {y, -10, 10}],
Graphics[{
PointSize[Large], Pink, Point[{x, x^2} /. p /. p1[[1]]],
PointSize[Large], Pink, Point[{x, x^2} /. p /. p1[[2]]]
}]}]
Các giải pháp chung liên quan đến tính gốc rễ của:
4 A F + 4 A DD x + (4 A^2 + 4 a A EE) x^2 + 4 a A B x^3 + a^2 B^2 x^4 == 0
nào được thực hiện dễ dàng trong bất kỳ CAS.
- 1. Bất kỳ SDK Scala hoặc giao diện nào cho AWS?
- 2. Biểu thức phím tắt AOP cho bất kỳ phương thức công khai nào của dịch vụ
- 3. Bất kỳ giao lộ nào trong hai bộ sưu tập
- 4. Giao điểm của hai biểu thức chính quy
- 5. Có bất kỳ công cụ DRYer mã nào không?
- 6. Giao điểm của hai bộ (Danh sách) của dữ liệu
- 7. Tìm tất cả các điểm chung cho hai vòng tròn
- 8. Làm cách nào để tạo giao điểm của hai băm?
- 9. Tìm giao điểm của hai mảng
- 10. Tại sao không có bất kỳ Công thức PHP "chính thức" nào cho Homebrew
- 11. Cách tính giao điểm của hai bộ?
- 12. Tìm giao điểm của hai đa giác 3D
- 13. Từ khóa tĩnh của Delphi có bất kỳ điểm nào trong mã duy nhất không?
- 14. của Ruby mã để có được ngày thứ hai tới (hoặc bất kỳ ngày nào trong tuần)
- 15. Thêm hai Set [Bất kỳ]
- 16. Java Vòng lên Bất kỳ Số nào
- 17. Kiểm tra giao điểm của hai ngôn ngữ thông thường
- 18. Bất kỳ công cụ nào cho biết mỗi phương thức chạy bao lâu?
- 19. Lấy một giao điểm của hai IEnumerables bằng LINQ
- 20. Giao điểm của hai mảng được sắp xếp
- 21. Java hoặc bất kỳ ngôn ngữ nào khác: Phương thức/lớp nào đã gọi cho tôi?
- 22. Bất kỳ tài liệu nào tốt cho giao diện cblas?
- 23. Giao điểm của hai mảng với sự lặp lại
- 24. Bất kỳ công cụ để kiểm tra phụ thuộc vòng tròn trong một dự án Delphi
- 25. Thuật toán cho giao điểm của 2 dòng?
- 26. Cách dán HTML đúng cách vào mã C# bằng Visual Studio hoặc Resharper (hoặc bất kỳ công cụ nào khác!)?
- 27. Bất kỳ tài nguyên/mã nào về cách thức hoạt động của fiddler?
- 28. Công văn phụ thuộc vào môi trường của các giao thức/đa phương thức trong clojure
- 29. Bất kỳ khung công tác NIO nào cho .NET?
- 30. Có bất kỳ điểm chuẩn nào cho thấy hiệu suất tốt của `collections.deque` không?
Làm thế nào để bạn giải quyết hệ phương trình này trong C++ (do đó không phải với các hàm Matlab sẵn có) http://math.stackexchange.com/questions/1894043/solve-squared-non-linear-system-with-two -equations –
@ Mr.Sheep Xin lỗi, tôi sẽ không hướng dẫn bạn giải pháp. Tôi cũng chưa bao giờ sử dụng Matlab để tôi có thể giúp ở đây. –
Tôi sẽ tìm ra, tuy nhiên tôi thực sự đánh giá cao giải pháp của bạn ở đây- cảm ơn bạn. –