- 382 名前:.5),ylim=c(-1,1.5),asp=1)
A= -0.5 ; B= 0.5 x=runif(1) ; y=runif(1) C=x+1i*y if(print){pt(A,'A');pt(B,'B');pt(C,'C') ; seg(A,B);seg(A,C);seg(B,C)} r=seg2tri(A,B,print=FALSE) r12=c(opc(B-A,r[1]-A),opc(B-A,r[2]-A)) R=r[ifelse(opc(B-A,C)>0,which.min(r12),which.max(r12))] if(print) {pt(R,'R') ; seg(A,R,col=2) ; seg(B,R,col=2)} p=seg2tri(B,C,print=FALSE) p12=c(opc(C-B,p[1]-B),opc(C-B,p[2]-B)) P=p[ifelse(opc(C-B,A)>0,which.min(p12),which.max(p12))] if(print) {pt(P,'P') ; seg(B,P,col=2) ; seg(C,P,col=2)} q=seg2tri(C,A,print=FALSE) q12=c(opc(A-C,q[1]-C),opc(A-C,q[2]-C)) Q=q[ifelse(opc(A-C,B)>0,which.min(q12),which.max(q12))] if(print) {pt(Q,'Q') ; seg(A,Q,col=2) ; seg(C,Q,col=2)} # r = {max(AP,BQ,CR)}/(AB+BC+CA) r=max(abs(A-P),abs(B-Q),abs(C-R))/(abs(A-B)+abs(B-C)+abs(C-A)) if(print) legend('bottom',bty='n',legend=paste('r =',round(r,2))) return(r) } [] - [ここ壊れてます]
|
|