高校数学の質問スレ(医者・東大卒専用) Part438 (991レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
445
(4): 2024/12/22(日)10:04 ID:rWRciXK9(1/8) AAS
>>439
では毒薬が2本のときのWolframのコードを書いてみ!
447
(1): 2024/12/22(日)11:05 ID:rWRciXK9(2/8) AAS
>>445
Wolframを使えないのが確定。
やはり、Fラン卒なのか?
452
(3): 2024/12/22(日)12:33 ID:rWRciXK9(3/8) AAS
>>444
>>444
Wolframで思い通りに作図するスキルはないので
R言語で最小値と最大値を求めてそのときの図を作図。
r=0.3のとき
> c(min,max)
[1] 0.3314719 2.0285281
最小のときの図
画像リンク

最大のときの図
画像リンク


最小最大のときの形状が判明したので
あとは一般解を求めればいい。
453
(1): 2024/12/22(日)12:35 ID:rWRciXK9(4/8) AAS
>>452
おまけ、R言語でのクズコード
理工系卒ならWolframで書けるはず。
但し、Fラン卒は除く。

r=0.3
source("toolmini.R")
p=0.5+0.5i
q=-0.5+0.5i
r0=-0.5-0.5i
s=0.5-0.5i
fP=\(t) r*exp(-1i*t)+p
fQ=\(t) r*exp(-1i*t)+q
fR=\(t) r*exp(-1i*t)+r0
fS=\(t) r*exp(-1i*t)+s

f=\(tt,verbose=FALSE,...){
P=fP(tt[1])
Q=fQ(tt[2])
R=fR(tt[3])
S=fS(tt[4])
if(verbose){
Plot(-1,1,zero=FALSE)
Polygon(p,q,r0,s,Col=8)
Cir(p,r,col=8)
Cir(q,r,col=8)
Cir(r0,r,col=8)
Cir(s,r,col=8)
Polygon(P,Q,R,S,...)
pta(P);pta(Q);pta(R);pta(S)
}
ABC2S(P,Q,R)+ABC2S(P,S,R)
}

opt=optim(runif(4,-pi,pi),f)
opt=optim(opt$par,f)
tt=opt$par
min=f(tt,TRUE,Col=2)

opt=optim(runif(4,-pi,pi),f,control=list(fnscale=-1))
opt=optim(opt$par,f,control=list(fnscale=-1))
tt=opt$par
max=f(tt,TRUE,Col=4)
c(min,max)
454: 2024/12/22(日)12:40 ID:rWRciXK9(5/8) AAS
>>453
算出のために作った関数の動作確認の図
画像リンク

455: 2024/12/22(日)12:42 ID:rWRciXK9(6/8) AAS
毒薬が2本のときのWolframのコード  まだぁ?
463
(2): 2024/12/22(日)18:41 ID:rWRciXK9(7/8) AAS
>444に答えてあげればいいのに。
それもできないのでFラン確定!

fd=\(lat1,lon1,lat2,lon2,R){
R*acos(
sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon1-lon2)
)
}
fd(pi/5,0,pi/3,pi/2,1)
466
(1): 2024/12/22(日)21:03 ID:rWRciXK9(8/8) AAS
spherical_triangle_area <- function(R, a, b, c) {
# 直交座標への変換
to_cartesian <- function(lat, lon) {
c(cos(lat) * cos(lon), cos(lat) * sin(lon), sin(lat))
}

p <- to_cartesian(a[1], a[2])
q <- to_cartesian(b[1], b[2])
r <- to_cartesian(c[1], c[2])

# 辺のベクトルを計算
u_ab <- q - p
u_bc <- r - q
u_ca <- p - r

# 内角を計算
angle_between <- function(u, v) {
acos(sum(u * v) / (sqrt(sum(u^2)) * sqrt(sum(v^2))))
}

alpha <- angle_between(u_ab, -u_ca)
beta <- angle_between(u_bc, -u_ab)
gamma <- angle_between(u_ca, -u_bc)

# 超過角を計算
E <- alpha + beta + gamma - pi

# 球面三角形の面積を計算
R^2 * E
}
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.043s