我是直接搬运了某大佬的代码,毕竟我不清楚如何计算这个东西。

其中四点共面的求法就是体积为0,然后圆心和半径就公式了。

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
#define eps 1e-8
struct node
{
double x,y,z;
}a,b,c,d,ans; ///面积公式
double get(node a,node b,node c)
{
double x1=b.x-a.x,y1=b.y-a.y,z1=b.z-a.z;
double x2=c.x-a.x,y2=c.y-a.y,z2=c.z-a.z;
double d1=y1*z2-y2*z1;
double d2=x1*z2-x2*z1;
double d3=x1*y2-x2*y1;
return sqrt(d1*d1+d2*d2+d3*d3)*0.5;
} ///体积
double Get(node a,node b,node c,node d)
{
double x1=b.x-a.x,y1=b.y-a.y,z1=b.z-a.z;
double x2=c.x-a.x,y2=c.y-a.y,z2=c.z-a.z;
double x3=d.x-a.x,y3=d.y-a.y,z3=d.z-a.z;
double ans=x1*(y2*z3-y3*z2)-y1*(x2*z3-x3*z2)+z1*(x2*y3-x3*y2);
return abs(ans)/6.0;
}
int main()
{
while(~scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&a.x,&a.y,&a.z,&b.x,&b.y,&b.z,&c.x,&c.y,&c.z,&d.x,&d.y,&d.z))
{
double s1,s2,s3,s4,V;
V=Get(a,b,c,d);
s1=get(b,c,d);
s2=get(a,c,d);
s3=get(a,b,d);
s4=get(a,b,c);
double t=s1+s2+s3+s4;
if(V<eps)
{
printf("O O O O\n");
continue;
}
ans.x=(s1*a.x+s2*b.x+s3*c.x+s4*d.x)/t;
ans.y=(s1*a.y+s2*b.y+s3*c.y+s4*d.y)/t;
ans.z=(s1*a.z+s2*b.z+s3*c.z+s4*d.z)/t;
double r=V*3.0/t;
printf("%.4lf %.4lf %.4lf %.4lf\n",ans.x,ans.y,ans.z,r);
}
}

tetrahedron (公式)的更多相关文章

  1. hdu 5733 tetrahedron 四面体内切球球心公式

    tetrahedron Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  2. E. Tetrahedron(数学推导)

    E. Tetrahedron 分类: AC路漫漫2013-08-08 16:07 465人阅读 评论(0) 收藏 举报 time limit per test 2 seconds memory lim ...

  3. hdu 5726 tetrahedron 立体几何

    tetrahedron/center> 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5726 Description Given four p ...

  4. HDU 5733 tetrahedron(计算几何)

    题目链接 tetrahedron 题目大意 输入一个四面体求其内心,若不存在内心则输出"O O O O" 解题思路 其实这道题思路很简单,只要类推一下三角形内心公式就可以了. 至于 ...

  5. 为WLW开发Latex公式插件

    WLW是写博客的利器,支持离线.格式排版等,而且拥有众多的插件.博客园推荐了代码插入插件,但是没有提供WLW的公式编译插件.目前我的一般做法是:先在Word下使用MathType编辑好公式,然后将公式 ...

  6. 百度编辑器UEditor与UEditor 公式插件完整Demo

    1.下载UEditor(我的是.net项目) 2.下载UEditor公式插件 3.新建解决方案和项目 4.在浏览器中预览index.html页面 结果: 5.index.html源码 <!DOC ...

  7. poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算

    /** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...

  8. Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...

  9. Excel公式 提取文件路径后缀

    我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获 ...

随机推荐

  1. Idea下载安装

    安装 下载 下载地址:http://www.jetbrains.com/idea/#chooseYourEdition,选择付费版的zip格式的下载 安装过程中除了勾选64版本之外其他一路next,直 ...

  2. linux链接库的理解

    前段时间遇到个奇怪的问题,经调试是由于可执行程序A编译时使用的libssl.so.1.1及对应版本头文件,A链接的库libtest.so编译时使用的libssl.so.1.0及对应版本头文件,执行时l ...

  3. Python中Mock的示例(转)

    原文:https://segmentfault.com/a/1190000008753754 一些常用的mock示例 先简单定义个类,方便举例: class Person: def __init__( ...

  4. fork多线程进程时的坑(转)

    add : 在fork多线程的进程时,创建的子进程只包含一个线程,该线程是调用fork函数的那个线程的副本.在man fork中,有The child process is created with ...

  5. P4491 [HAOI2018]染色

    题目链接:洛谷 题目大意:$n$个位置染$m$种颜色,如果出现次数恰为$S$次的颜色有$k$种,则对答案有$W_k$的贡献,求所有染色方案的答案之和$\bmod 1004535809$. 数据范围:$ ...

  6. log4j layout日志信息格式

    Log4j提供的layout有以下几种 org.apache.log4j.HTMLLayout(以HTML表格形式布局), org.apache.log4j.PatternLayout(可以灵活地指定 ...

  7. 初识waindows窗体程序错题整理

    解析:A:Items表示集合B:获取或设置 ComboBox 的可编辑部分中选定的文本.C:SelectedIndex是索引D:获取或设置 控件中选定项的模板 解析:本题目考不同窗体之间跳转的方法,使 ...

  8. VS Code 管理 .NET Core解决方案

    本练习要使用Visual studio code完成一个包含多个项目的解决方案,包括类库和Web项目.结合Visual Studio Code和.NET Core CLI,创建项目结构如下: pied ...

  9. 前端 HTML body标签相关内容 常用标签 分割线 <hr>

    分割线 <hr> <hr>标签用来在HTML页面中创建水平分隔线,通常用来分隔内容 <!DOCTYPE html> <html lang="en&q ...

  10. 帝国cms内容关键字自动加链接且设置内容关键字只替换一次

    网站上线前先设置一些内部链接对后期的优化排名很有帮助,帝国cms也可以设置文章中的关键字自动加链接,但是要注意一下关键词替换次数,最好是1次. 怎么操作呢?分两步完成 1.帝国cms文章关键字自动加链 ...