>>294
area3 <- function(A,B,C){
a=sqrt(sum((B-C)^2))
b=sqrt(sum((C-A)^2))
c=sqrt(sum((A-B)^2))
s=(a+b+c)/2
tri=rbind(A,B,C,A)
rgl::plot3d(tri,type="l",lwd=2,xlab='x',ylab='y',zlab='z', col=sample(colours(),1))
return(sqrt(s*(s-a)*(s-b)*(s-c)))
}
area3(c(0,0,0),c(1,2,3),c(7,7,7))

# x^2+y^2=p^2
# y^2+z^2=q^2
# z^2+x^2=r^2

p=7 ; q=8 ; r=9

x=sqrt((p^2-q^2+r^2)/2)
y=sqrt((p^2+q^2-r^2)/2)
z=sqrt((-p^2+q^2+r^2)/2)

A=c(0,0,0)
B=c(x,y,0)
C=c(0,y,z)
D=c(x,0,z)

P=c(x/3,y/3,0)
Q=c(0,y/2,z/2)
R=c(2/3*x,1/3*y,z)

> area3(P,Q,R)
[1] 10.23429