簡體   English   中英

計算點,從點,在給定的角度

[英]Calculate point, from point, at given angle

我正在嘗試使用 svg 和 JavaScript 創建“牆”。 我需要根據配置的值加厚牆壁,並以給定的角度適當地斜接角落。 下圖描述了這一點。

我的應用程序的 svg 編輯器部分允許我繪制第 1 行和第 2 行(藍色),並以不同的角度連接它們的端點。 下圖顯示了一個 90 度角,但該角度是用戶根據繪制的線條定義的,所以它可以是任何東西。

我已經能夠通過數學計算確定一個質心點,它允許我平分用戶定義的角度並創建一條斜接線,如下所示,它是一條具有端點 d 和 c 的線。 根據我的計算,我知道四個綠點和綠角,以及第 1 行和第 3 行之間的已知且可配置的距離(此處未定義,但假設它為 5 個 svg 單位),順便說一句,這將始終是平行的。

在這個例子中,新牆由第 1 行(牆的內部)、第 3 行(牆的外部)和連接第 1 行和第 3 行的斜接線組成。我假設答案在第 1 行和第 3 行之間的距離,以及平分線的角度(端點 d 和 c),但我無法確定數學。

我如何找到 x?

有沒有更簡單的方法來 go 關於這個,或者我對三角的了解比我想象的還要少(順便說一句,很少)。 提前致謝。

在此處輸入圖像描述

畢達哥拉斯: A**2 + B**2 = C**2 - 意思是(5 svg 平方)+(5 svg 平方)=(C -> X)平方。 這為您提供了與 C->X 的距離,並且您已經有了綠色角度。

你必須決定你想要的精確度(小數位數)。

說從第 1 行到第 3 行的距離 == 5;

 const A = 5; const length = Math.sqrt((A * A) + (A * A)); console.log(length);

要從 C -> X 延長斜接線:

  • 從 C 以第 1 行的綠色角度的 1/2 繪制計算長度。

綠角的一半,因為 D 和線 1 之間的假想線與線 1 和線 3(以及延伸的 X 的交點)成直角。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM