[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/04 08:38 / Filesize : 355 KB / Number-of Response : 1041
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

高校数学の質問スレ Part433



552 名前:132人目の素数さん mailto:sage [2024/03/20(水) 16:52:07.76 ID:4EeDFBOy.net]
>>526
R言語で探索させてみる。

その方法
A(x,y), B(0,0),C(1,0)として
重心G、外心O、内心I、垂心Gの座標を求めるx,yの関数を作成して
三角形GOI および 三角形GHIの面積が最小値になるx,yをNelder-Mead法で探索させる。

outcircle <-function(A,B,C){ # circumscribing circle
a=abs(B-C)
b=abs(C-A)
c=abs(A-B)
center=((a^2*(b^2+c^2-a^2)*A + b^2*(c^2+a^2-b^2)*B +
c^2*(a^2+b^2-c^2)*C))/(a^2*(b^2+c^2-a^2) + b^2*(c^2+a^2-b^2) + c^2*(a^2+b^2-c^2))
radius=a*b*c/sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c))
list(center=center,radius=radius)
}

incircle <-function(P,Q,R){ # inscribing circle
p=abs(Q-R)
q=abs(R-P)
r=abs(P-Q)
s=(p+q+r)/2
S=sqrt(s*(s-p)*(s-q)*(s-r))
radius=S/s
center=(p*P+q*Q+r*R)/(p+q+r)
list(center=center,radius=radius)
}

Orthocenter <-function(A,B,C,print=FALSE){
a1=Re(A) ; a2=Im(A)
b1=Re(B) ; b2=Im(B)
c1=Re(C) ; c2=Im(C)
O1=(a1*(a2*(b1-c1)-b1*b2+c1*c2)+(b2-c2)*(a2^2-a2*(b2+c2)+b1*c1+b2*c2))/
(a1*(c2-b2)+a2*(b1-c1)-b1*c2+b2*c1)
O2=(a1^2*(b1-c1)+a1*(a2*b2-a2*c2-b1^2+c1^2)+a2*(c1*c2-b1*b2)+(b1-c1)*(b1*c1+b2*c2))/(a1*(b2-c2)+a2*(c1-b1)+b1*c2-b2*c1)
if(print){
cat(
det(matrix(c(-b1*c1-a2^2,-a1*c1-b2^2,-a1*b1-c2^2,a2,b2,c2,1,1,1),3,3))/
det(matrix(c(a1,b1,c1,a2,b2,c2,1,1,1),3,3))+1i*det(matrix(c(a1,b1,c1,-a1^2-b2*c2,-b1^2-a2*c2,-c1^2-a2*b2,1,1,1),3,3))/det(matrix(c(a1,b1,c1,a2,b2,c2,1,1,1),3,3))
,'\n')}
return(O1+1i*O2)
}

ABC2S <- function(A,B,C) abs(Im((A-C)*Conj(B-C)))/2






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<355KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef