誰有乙個程式可以在 C 下在 OpenGL 中查詢圓和直線段的交點

發布 教育 2024-04-03
11個回答
  1. 匿名使用者2024-02-07

    既然是opengl,那肯定是在三維空間坐標系下,可以用幾何方法自己計算,也可以用cgal等數學庫,不過題目不複雜,自己寫就行了。

  2. 匿名使用者2024-02-06

    自己寫。

    球面: (x-x0) 2 + y-y0) 2 + z-z0) 2 = r 2

    直線:(x-x1) a = y-y1) b = z-z1) c = k

    將直線的平方行程代入球面可求解一元二階方程。

  3. 匿名使用者2024-02-05

    現在將球的中心對映到一條直線以獲得垂直腳。

    要得到垂直段,要得到長度,用勾股閔年淮定理,得到弦長。

    用垂直腳弦長請橋友架設交點。

  4. 匿名使用者2024-02-04

    首先,分析是否有交點。

    在以下情況下沒有交集:

    兩個圓相距太遠(圓心之間的距離大於圓的半徑和圓之和),並且圓在圓內。

    還有幾種特殊情況:

    切線,只有乙個焦點。 它分為內切口和外切口。

    如果兩個圓的大小相同(半徑相同),並且在圓的中心具有相同的坐標,則有無限個交點。

    然後剩下的就是設定要計算的公式。

  5. 匿名使用者2024-02-03

    對法律描述和程式的詳細見解。

  6. 匿名使用者2024-02-02

    ,找到兩個圓的交點坐標,跪下求師傅給乙個cc

  7. 匿名使用者2024-02-01

    判斷兩條線段是否平行(最好確定是否有交點而不同時平行,因為浮點運算不準確),然後計算兩條線段的交點。 以下是 C 語言**:

    #include

    #include

    #define eps 1e-8

    #define zero(x) (x)>0?(x):-x))eps;

    判斷是兩條直線是平行的。

    int parallel(point u1,point u2,point v1,point v2){

    return zero((;

    三點共線性。

    int dots_inline(point p1,point p2,point p3){

    return zero(xmult(p1,p2,p3));

    確定兩條線段的交點,包括端點和部分重合。

    int intersect_in(point u1,point u2,point v1,point v2){

    if (!dots_inline(u1,u2,v1)||dots_inline(u1,u2,v2))

    return dot_online_in(u1,v1,v2)||dot_online_in(u2,v1,v2)||dot_online_in(v1,u1,u2)||dot_online_in(v2,u1,u2);

    要計算兩條線段的交點,請確定線段是否相交(並確定它們是否平行! )

    point intersection(point u1,point u2,point v1,point v2){

    point ret=u1;

    double t=((

    ;;return ret;

    int main(void)

    point u1,u2,v1,v2,ans;

    printf("請輸入線路段 1 的兩個端點:");

    printf("請輸入線段 2 的兩個端點:");

    if (parallel(u1,u2,v1,v2)||intersect_in(u1,u2,v1,v2)){

    printf("沒有十字路口! ");

    else{ans=intersection(u1,u2,v1,v2);

    printf("交點為:(%lf,%lf)。",,;

    return 0;

  8. 匿名使用者2024-01-31

    vla-intersect與 seek,請參閱 CAD 幫助。

    vla-intersectwith e1 e2 no) ;no 是指示是否延長交點 0 3 的線。

    您還可以根據最基本的幾何方法找到從圓心到直線垂直線的距離、垂直點、已知半徑和直線的角度。

  9. 匿名使用者2024-01-30

    我不知道,你會口齒不清,如果你願意,我可以告訴你這個想法,我現在沒有時間寫。

  10. 匿名使用者2024-01-29

    您可以先將這些線框製作成區域,然後使用“區域合併”命令合併區域。 然後總面積出來了。 它可以在沒有lisp的情況下實現。

  11. 匿名使用者2024-01-28

    1.類點的狀態有問題,其中的x和y是私有的。

    2.類線不是點的友點,設定點也不是類龐尼特類的友,所以無法訪問, 3.解決方案:要麼在點的 x 和 y 上新增乙個介面,要麼將訪問許可權更改為 public,要麼使用結構來宣告點。

相關回答
10個回答2024-04-03

首先編寫乙個函式來查詢序列。

然後使用 for 或 while 來呼叫 !! >>>More

25個回答2024-04-03

首先想想整個程式需要多少個部分,然後每個部分需要什麼功能,然後考慮每個部分的流程,需要的全域性變數,然後根據設計的內容進行彌補。

4個回答2024-04-03

MCU C語言程式設計入門課程難不多,說起來不好,首先要了解的是學習MCU C語言時要明白這兩樣東西是什麼? 微控制器的入門程式設計主要是學習C語言,其次是電路和程式語言。 >>>More

8個回答2024-04-03

程式問題 1:包括

int main(void) >>>More

6個回答2024-04-03

prob : prime

author: cnyali >>>More