[問題] 使用BCB(C++)畫圓之後移動圓心及圓周三點問題

看板C_and_CPP作者 (風靈)時間14年前 (2010/08/05 15:47), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 想使用BCB在Image上畫圓,然後放Sharp在圓心、圓周三點製作成可以使用Mouse事件 然後圓周三點需要個間隔120度,拉圓心可以移動圓,拉圓周可以放大圓(圓心位置不變) 目前已經可以畫出圓並在圓心移動圓 問題在先指定出圓周三點其中一點的位置,然後要以這個位置去找出另外兩點的位置 所以當移動其中一點時必須先找到這一點的角度,然後依照角度在找出另外兩點 我是使用依照角度用for去畫圓的但是昨天試了很久都有問題 不知道有沒有人可以提供找圓周某點的角度及找到角度後找另外兩點的公式 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.69.185

08/05 19:59, , 1F
我覺得可以用邊緣搜尋 每找到一點就用餘弦公式判斷角度
08/05 19:59, 1F

08/05 19:59, , 2F
然後看看角度是不是120度就是那一點了
08/05 19:59, 2F

08/05 20:09, , 3F
其中一點到圓心的向量去作旋轉, 就可以用圓心再去推其
08/05 20:09, 3F

08/05 20:09, , 4F
他點
08/05 20:09, 4F

08/06 07:20, , 5F
推樓上,向量旋轉是個好方法
08/06 07:20, 5F
文章代碼(AID): #1CMco4JR (C_and_CPP)