30/09/2018, 16:18

Xác định tính chất 1 điểm nằm trong đường tròn?

Trong game em thấy có vụ khi nhân vật di chuyển quay mặt về hướng kẻ địch thì được tăng tốc độ di chuyển. Vậy làm sao để xác định 1 vector có chỉ về hướng của 1 điểm hay không?

Em nghĩ là xét góc giữa hướng mặt của nhân vật với vector chỉ phương của đường thẳng nối nhân vật và kẻ địch. Nếu góc < 90 độ thì tính là quay mặt về hướng địch. Nhưng công thức tính góc trong mặt phẳng thấy nó lại hơi dài, phải tính trước nhiều cái. Không biết có cách nào khác không?

Deactivated viết 18:34 ngày 30/09/2018

Với cách của bạn có vẻ không hợp lý lắm vì chỉ đúng khi nhân vật có tầm nhìn về vô cực và góc nhìn là 180 độ, thực tế thì nhân vật có tầm nhìn ngắn và góc nhỏ hơn, nên mình nghĩ quy về bài toán xét 1 điểm có nằm trong tam giác không, tam giác đó là tam giác cân đỉnh cân là ở ngay mắt nhân vật.

viết 18:34 ngày 30/09/2018

Vậy là target phải thõa mãn 2 điều kiện:

  • Target phải nằm trong đường tròn giới hạn phạm vi tác dụng.
  • Sau đó mới xét đến target có nằm giữa góc nhọn không.

Điều kiện 1 thì xét tính chất của 1 điểm với đường tròn, cũng dễ. Cái thứ 2 làm như nào ta?
Anh @ltd có cao kiến gì không?

Nguyễn Minh Dũng viết 18:31 ngày 30/09/2018

Cái này phải hỏi @bachtiensinh ấy, có nhiều kinh nghiệm làm game lắm. Anh chưa bao giờ làm game gì cả, ngày xưa phải nhờ @bachtiensinh làm dùm cái game để qua môn

viết 18:34 ngày 30/09/2018

À, em có ý tưởng này.

Em cho tọa độ nhân vật mình đang đứng là O(0,0), tầm nhìn nhân vật có góc 180 độ cho dễ tính.
Ta lấy ra 1 điểm C bất kì theo hướng nhìn của nhân vật. Lấy điểm nằm trên đường tròn luôn cho dễ tính. Tọa độ C là C (Xo + Xoc, Yo + Yoc). Bây giờ là xác định tọa độ của A và B (mục đích để xác định phương trình đường thẳng AB, có thể dùng để xét 2 điểm có nằm cùng phía hay không). Cái này hơi khó, để em nghĩ đã, nhưng em trình bày tiếp phần sau.

Đó là khi biết cách xác định 2 điểm có nằm cùng phía so với 1 đường thẳng hay không. Thì đưa lên trường hợp nhân vật có tầm nhìn là góc nhọn như trên. Xét tính cùng phía của C và target với đường thẳng OA, xét tiếp tính cùng phía của C và target với OB. Target nằm trong phạm vi góc nhọn AOB khi cùng phía với C đối với cả hai đường thẳng OA và OB

Cách xét 2 điểm có nằm cùng phía hay không:
Đưa toạ độ của 2 điểm đó vào phương trình tổng quát của đường thẳng cần xét rồi nhân hai kết quả lại với nhau. Result > 0 => cùng phía, result < 0 => khác phía.

(Em nghĩ cách làm sao xác định tọa độ A và B đã hình học hồi cấp 3 quên sạch )

viết 18:20 ngày 30/09/2018

ngày xưa phải nhờ @bachtiensinh làm dùm cái game để qua môn

Định coi anh @ltd là thần tượng. Nhưng không ngờ lại có một sự thật đáng thất vọng như vậy. Thôi không thần tượng nữa

Bài liên quan
0