- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang tìm một thuật toán để tìm tất cả các điểm giao nhau cho n đoạn đường. Sau đây là từ ../../../teaching/373/notes/x06-sweepline.pdf Mã giả của
Đầu vào S[1 .. n] là một phân đoạn mảng hàng. label[i] là nhãn của điểm cuối ngoài cùng bên trái thứ i.
sắp xếp các điểm cuối của S từ trái sang phải
tạo một chuỗi nhãn trống
với i ← 1 tới 2n
dòng ← nhãn[i]
nếu isLeftEndPoint[i]
Chèn(dòng)
if Intersect(S[line], S[Successor(line)])
trả về ĐÚNG
if Intersect(S[line], S[Predecessor(line)])
trả về ĐÚNG
khác
if Intersect(S[Người kế nhiệm(dòng)], S[Người tiền nhiệm(dòng)])
trả về ĐÚNG
Xóa(nhãn[i])
trả về SAI
Áp dụng thuật toán cho tập hợp các đường sau, chỉ kiểm tra một điểm giao nhau. Muốn biết sự tồn tại của 2 giao điểm còn lại tôi phải làm gì?
câu trả lời hay nhất
Phương trình đường chuẩn Ax+By=C
Độ dốc (m) của đường thẳng xác định bởi phương trình chuẩn là
m = -(A/B)
Phương trình gạch chéo điểm y-y1=m(x-x1)
Thay m = (-A/B) vào phương trình độ dốc điểm y2-y1 = (A/-B)*(x2-x1)
(y2-y1)/(x2-x1) = A/-B
Vì vậy:
A = y2-y1
B = x1-x2C = Ax+By
x = (C-Bởi)/A
y = (C-Ax)/B
Cho hai dòng phương trình A1x1+B1y1=C1 và A2x2+B2y2=C2.
Sau đó chỉ định điểm giao nhau giữa các đường bằng cách sử dụng
A1x+B1y-C1 = A2x+B2y-C2
A1x+B1y=C1
A2x+B2y=C2
A1B2x+B1B2y=B2C1 (nhân phương trình đầu tiên với B2)
A1B2x+B1B2y-B2C1=0
A2B1x+B1B2y=B1C2 (nhân phương trình thứ hai với B1)
A2B1x+B1B2y-B1C2=0
Làm cho hai phương trình bằng nhau
A1B2x+B1B2y-B2C1=A2B1x+B1B2y-B1C2
A1B2x+B1B2y-B2C1-A2B1x-B1B2y+B1C2=0
A1B2x-B2C1-A2B1x+B1C2=0
A1B2x-A2B1x=B2C1-B1C2
x(A1B2-A2B1)=B2C1-B1C2
x = (B2C1-B1C2)/A1B2-A2B1
A1x+B1y=C1
A2x+B2y=C2
A1A2x+A2B1y=A2C1 (nhân phương trình đầu tiên với A2)
A1A2x+A2B1y-A2C1=0
A1A2x+A1B2y=A1C2 (nhân phương trình thứ hai với A1)
A1A2x+A1B2y-A1C2=0
Làm cho hai phương trình bằng nhau
A1A2x+A2B1y-A2C1=A1A2x+A1B2y-A1C2
A1A2x+A2B1y-A2C1-A1A2x-A1B2y+A1C2=0
A1C2-A2C2=A1B2y-A2B1y
A1B2y-A2B1y=A1C2-A2C2
y(A1B2-A2B1)=A1C2-A2C1
y(A1B2-A2B1)=A1C2-A2C1
y = (A1C2-A2C1)/(A1B1-A2B1)
Mẫu số của y và x giống nhau nên mẫu số = A1B1-A2B1
Vì vậy:
x = (B2C1-B1C2)/mẫu số
y = (A1C2-A2C1)/mẫu số
Đây là hai đường thẳng có điểm (x1, y1), (x2, y2)
Tọa độ x, y của giao điểm với (x3, y3), (x4, y4)
Bây giờ điều này giống nhau đối với các đoạn thẳng, nhưng chúng ta cần kiểm tra xem tọa độ x hoặc y có nằm trong cả hai đoạn hay không. Điều này có nghĩa là giữa tọa độ x của hai đoạn đường có giá trị nhỏ hơn và tọa độ x của hai đoạn đường có giá trị lớn hơn
Đây là chương trình C++ trả về true nếu các đoạn thẳng giao nhau, ngược lại là false. Nếu các đoạn thẳng cắt nhau, nó sẽ lưu điểm giao nhau vào biến i.
điểm cấu trúc
{
nổi x, y;
};
//p1 và p2 là các điểm của đoạn đầu tiên
//p3 và p4 là các điểm của đoạn thứ hai
giao điểm bool(Điểm p1, Điểm p2, Điểm p3, Điểm p4, Điểm &i)
{
float max1; //tọa độ x có giá trị lớn hơn ở đoạn 1;
float min1; // tọa độ x với giá trị nhỏ hơn trong phân đoạn 1;
float max2; //x-tọa độ có giá trị lớn hơn ở đoạn 2;
float min2; // tọa độ x với giá trị nhỏ hơn trong phân đoạn 2;
float A1 = p2.y - p1.y;
float B1 = p1.x - p2.x;
float C1 = A1 * p1.x + B1 * p1.y;
float A2 = p4.y - p3.y;
float B2 = p3.x - p4.x;
float C2 = A2 * p3.x + B2 * p3.y;
mệnh giá float = A1 * B2 - A2 * B1;
if (denom == 0.0) // Khi denom == 0, là do các đường thẳng song song
return false; //Các đường song song không cắt nhau
ix = (C1 * B2 - C2 * B1)/mệnh giá;
iy = (A1*C2 - A2*C1)/mệnh giá;
nếu (p1.x > p2.x)
{
max1 = p1.x;
min1 = p2.x;
}
khác
{
max1 = p2.x;
min1 = p1.x;
}
nếu (p3.x > p4.x)
{
max2 = p3.x;
min2 = p4.x;
}
khác
{
max2 = p4.x;
min2 = p3.x;
}
//kiểm tra xem tọa độ x có nằm trong cả hai phân đoạn không
nếu (ix >= min1 && ix <= max1 &&
ix >= min2 && ix <= max2)
trả về đúng sự thật;
return false; //Không giao nhau, giao điểm của các đường không nằm giữa các đoạn
Bây giờ bạn chỉ cần so sánh tất cả các đoạn trong một vòng lặp và lưu các điểm giao nhau vào một mảng.
Về thuật toán tìm giao điểm của tất cả các đoạn thẳng cho n dòng, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/33819998/
Tôi đang phát triển một dự án doanh nghiệp trong NetBeans trên GlassFish (J2EE_1.4). Có một số đậu thực thể, một số đậu phiên và đậu điều khiển thông điệp trong dự án của tôi. Tôi đang sử dụng serv như sau
Điều gì tốt hơn về mặt tốc độ... Tôi đang cố gắng xác định xem người dùng đã thêm một URL nhất định vào danh sách phím tắt của họ hay chưa. Nếu họ đã thêm URL thì trên trang sẽ có liên kết để xóa URL đó khỏi lối tắt, nếu không họ có thể thêm URL đó vào lối tắt
Vấn đề của tôi như sau: Tôi mở Tệp Excel nhưng tôi không biết khách hàng của tôi có thể sử dụng các biến tiêu đề nào trong tệp mẫu. Chúng có thể là: #DATE, #TIME, #NAME, v.v. Vì vậy, tôi cần tìm các biến này và xem chúng đã được sử dụng chưa: thay vì
Tôi có một loạt tệp kết thúc bằng "-e" mà tôi muốn xóa. $ find . -name "*-e" exec rm {} \; find: exec: toán tử chính hoặc toán tử không xác định Biểu thức chính quy là
Tôi có một câu hỏi đơn giản: có thể lấy loại là một phần của liên kết trong TypeScript không? Ví dụ: bạn có thể thường xuyên tra cứu các loại bằng cách sử dụng: giao diện Person { name: string } type;
Tôi đang cố gắng thiết lập bản dựng trung kế của Thư viện đám mây điểm với tùy chọn bật CUDA. Tôi tin rằng tôi đã cài đặt CUDA đúng cách theo các hướng dẫn này.
Tôi sẽ bắt đầu bằng cách nói rằng VBA duy nhất mà tôi biết là bản dùng thử và lỗi khi vận hành các macro đã ghi. Tôi là một CPA đang cố gắng học VBA một cách chăm chỉ (và ước gì tôi đến trường để học lập trình máy tính!). Tôi có một sổ làm việc lớn với nhiều trang tính. Đánh dấu màu vàng ở cột G
Tôi đang cố xóa các tệp cũ nhất trong một thư mục khi số lượng tệp đạt đến ngưỡng. list_of_files = os.listdir('log') if len([tên cho tên trong list_of_files
Tôi có một mảng có một số giá trị lặp lại. Tôi phải đếm số lượng mỗi bản sao và chỉ mục của nó. In như sau: Chỉ số của b: 1 Chỉ số của b: 4 Chỉ số của c: 2 Chỉ số của c: 3 Ind
Tôi đã tìm kiếm giải pháp cho vấn đề của mình nhưng không thành công. Chức năng tìm/thay thế nhật thực được tìm thấy bằng phím nóng ctrl+F không hoạt động. Lưu ý: Thông qua menu Eclipse Chỉnh sửa>Tìm thay thế (ý tôi là không hoạt động
Tôi muốn kiểm tra xem div có chứa con có "lỗi" lớp hay không nhưng chỉ khi lớp lỗi được hiển thị không bằng Không. (có nghĩa là lớp lỗi phải hiển thị. Cách thay đổi mã sau của tôi: $(".rel_field").each(function
Câu hỏi này đã có câu trả lời: Đã đóng cửa 13 năm trước. Có thể trùng lặp: jQuery có thể cung cấp tên thẻ không? Xin chào! Câu hỏi này cơ bản đến mức tôi rất xấu hổ khi hỏi nó, nhưng tôi đã thử nó.
Tôi vẫn nghe nói rằng đây là vấn đề về đường dẫn với Cygwin. Nó ngăn emacs hoạt động trong cygwin của tôi. Khi tôi thực hiện tìm kiếm trên cli (không phải bash/cygwin), tôi đều gặp lỗi tương tự bất kể tôi gõ gì.
Tôi đang sử dụng biến này để lấy một hoặc nhiều giá trị khớp với giá trị tôi cần. var mail = $("#dat").contents().find("td:contains('" + name + "')" ).si
Xin vui lòng tha thứ cho câu hỏi dài này. Tôi chỉ không chắc cách tốt nhất để giải quyết vấn đề này là gì. Tôi có một bảng tính (Google Trang tính) với danh sách người dùng và địa chỉ mà tôi cần để tạo nhãn gửi thư từ đó. Bảng tính này được xuất từ hệ thống thông tin sinh viên của chúng tôi. Những địa chỉ này nên
Tôi đang tạo một công thức trong Excel VBA để phân tích danh sách "phần" được phân tách bằng dấu phẩy trong một ô. Tìm ô có tên bộ phận đó trong một bảng tính khác, sau đó sử dụng địa chỉ của ô tìm thấy để lấy giá của bộ phận đó trong một cột khác trong cùng một hàng. Tôi đã làm việc chăm chỉ về việc này
Tôi được yêu cầu triển khai một số xác thực địa chỉ email trên một ứng dụng web - Tôi chắc chắn rằng tất cả chúng ta đều đã thực hiện việc này hàng nghìn lần... Tuy nhiên, lần này tôi được yêu cầu thực hiện tra cứu MX trên một miền để xem nếu nó chấp nhận email. Có ai biết bất kỳ vấn đề tiềm ẩn nào khi thực hiện việc này không? mx
Tôi có một nút chuyển đổi đọc tệp .wave và chuỗi thay đổi thành tạm dừng và sau đó..... Vấn đề của tôi là khi người dùng phát âm thanh, chuỗi nút thay đổi thành tạm dừng và sau khi kết thúc âm thanh, ký tự chuỗi vẫn còn đã tạm dừng và tôi muốn chuyển sang chơi. nhưng tôi không biết làm thế nào
Xin lỗi trước vì tiêu đề khó hiểu. Vấn đề của tôi như sau, tôi có văn bản sau trong khoảng 600 tệp: $_REQUEST['FOO'] Tôi muốn thay thế nó bằng đoạn sau: $this->input->post('FOO') như
Tôi đang sử dụng chức năng find của Ansible để tìm các giá trị trong tệp INI. Đây là một ví dụ từ tài liệu: - debug: msg="Người dùng tích hợp là {{ lookup('ini', 'use
Tôi là một lập trình viên xuất sắc, rất giỏi!