当前位置: 首页 > news >正文

triangle_area_calculators库发布

最近将在pip网站上发布triangle_area_calculators库(我编写的python第三方库)

triangle_area_calculators库用于计算不同类型及不同已知量的三角形面积

在triangle_area_calculators库中,有一个名为TriangleAreaCalculators的类

可以通过from triangle_area_calculators import TriangleAreaCalculators方式引用

 

 

import math


class TriangleAreaCalculators:
    HALF = 0.5

    @staticmethod
    def area_by_base_height(base, height):
        return TriangleAreaCalculators.HALF * base * height

    @staticmethod
    def area_by_heron(a, b, c):
        p = (a + b + c) / 2
        return math.sqrt(p * (p - a) * (p - b) * (p - c))

    @staticmethod
    def area_by_two_sides_angle(a, b, gamma_degrees):
        gamma_radians = math.radians(gamma_degrees)
        return TriangleAreaCalculators.HALF * a * b * math.sin(gamma_radians)

    @staticmethod
    def area_by_coordinates(x1, y1, x2, y2, x3, y3):
        return TriangleAreaCalculators.HALF * abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2))

    @staticmethod
    def area_by_vectors(A_x, A_y, B_x, B_y):
        return TriangleAreaCalculators.HALF * abs(A_x * B_y - A_y * B_x)

    @staticmethod
    def area_of_right_triangle_by_two_legs(a, b):
        return TriangleAreaCalculators.HALF * a * b

    @staticmethod
    def area_of_right_triangle_by_hypotenuse_and_leg(c, a):
        theta_radians = math.acos(a / c)
        return TriangleAreaCalculators.HALF * a * c * math.sin(theta_radians)

    @staticmethod
    def area_of_equilateral_triangle(a):
        return (math.sqrt(3) / 4) * a ** 2

    @staticmethod
    def area_of_isosceles_triangle_by_base_angle(b, a, theta_degrees):
        theta_radians = math.radians(theta_degrees)
        return TriangleAreaCalculators.HALF * b * a * math.sin(theta_radians)

    @staticmethod
    def area_of_isosceles_triangle_by_height(b, h):
        return TriangleAreaCalculators.HALF * b * h

    @staticmethod
    def area_of_isosceles_right_triangle(a):
        return TriangleAreaCalculators.HALF * a ** 2

    @staticmethod
    def area_of_circumscribed_triangle(R, alpha_degrees):
        alpha_radians = math.radians(alpha_degrees)
        return TriangleAreaCalculators.HALF * R ** 2 * math.sin(alpha_radians)
        
'''
#使用示例
from triangle_area_calculators import TriangleAreaCalculators


# 示例1:使用底和高计算三角形面积
base = 5
height = 8
print("底为", base, "高为", height, "的三角形面积:", TriangleAreaCalculators.area_by_base_height(base, height))

# 示例2:使用海伦公式计算三角形面积(已知三边)
a = 3
b = 4
c = 5
print("三边分别为", a, b, c, "的三角形面积:", TriangleAreaCalculators.area_by_heron(a, b, c))

# 示例3:使用两边和夹角计算三角形面积(这里传入角度制角度)
a_side = 6
b_side = 8
angle_gamma_degrees = 60
print("两边分别为", a_side, b_side, "夹角为", angle_gamma_degrees, "度的三角形面积:", TriangleAreaCalculators.area_by_two_sides_angle(a_side, b_side, angle_gamma_degrees))

# 示例4:使用坐标法计算三角形面积
x1, y1 = 1, 1
x2, y2 = 3, 4
x3, y3 = 5, 2
print("坐标分别为(", x1, y1, "), (", x2, y2, "), (", x3, y3, ")的三角形面积:", TriangleAreaCalculators.area_by_coordinates(x1, y1, x2, y2, x3, y3))

# 示例5:使用向量法计算三角形面积
A_x, A_y = 2, 3
B_x, B_y = 5, 7
print("向量坐标分别为(", A_x, A_y, "), (", B_x, B_y, ")的三角形面积:", TriangleAreaCalculators.area_by_vectors(A_x, A_y, B_x, B_y))

# 示例6:计算直角三角形面积(已知两条直角边)
right_a = 3
right_b = 4
print("两条直角边分别为", right_a, b, "的直角三角形面积:", TriangleAreaCalculators.area_of_right_triangle_by_two_legs(right_a, right_b))

# 示例7:计算直角三角形面积(已知斜边和一条直角边)
right_c = 5
right_a = 3
print("斜边为", right_c, "一条直角边为", right_a, "的直角三角形面积:", TriangleAreaCalculators.area_of_right_triangle_by_hypotenuse_and_leg(right_c, right_a))

# 示例8:计算等边三角形面积
equilateral_a = 6
print("边长为", equilateral_a, "的等边三角形面积:", TriangleAreaCalculators.area_of_equilateral_triangle(equilateral_a))

# 示例9:计算等腰三角形面积(已知底边、等腰边和顶角,这里传入角度制角度)
isosceles_b = 4
isosceles_a = 5
isosceles_theta_degrees = 45
print("底边为", isosceles_b, "等腰边为", isosceles_a, "顶角为", isosceles_theta_degrees, "度的等腰三角形面积:", TriangleAreaCalculators.area_of_isosceles_triangle_by_base_angle(isosceles_b, isosceles_a, isosceles_theta_degrees))

# 示例10:计算等腰三角形面积(已知等腰边和底边上的高)
isosceles_a_side = 5
isosceles_height = 3
print("等腰边为", isosceles_a_side, "底边上的高为", isosceles_height, "的等腰三角形面积:", TriangleAreaCalculators.area_of_isosceles_triangle_by_height(isosceles_a_side, isosceles_height))

# 示例11:计算等腰直角三角形面积
isosceles_right_a = 4
print("边长为", isosceles_right_a, "的等腰直角三角形面积:", TriangleAreaCalculators.area_of_isosceles_right_triangle(isosceles_right_a))

# 示例12:计算圆内接三角形面积(这里传入角度制角度)
R_radius = 3
alpha_degrees = 90
print("圆半径为", R_radius, "中心角为", alpha_degrees, "度的圆内接三角形面积:", TriangleAreaCalculators.area_of_circumscribed_triangle(R_radius, alpha_degrees))
'''

 

 

代码链接🔗:

http://localhost:8888/tree

相关文章:

triangle_area_calculators库发布

最近将在pip网站上发布triangle_area_calculators库(我编写的python第三方库) triangle_area_calculators库用于计算不同类型及不同已知量的三角形面积 在triangle_area_calculators库中,有一个名为TriangleAreaCalculators的类 可以通过f…...

ClickHouse数据库SSL配置和SSL连接测试

目录 1.Server SSL配置介绍 2.Client SSL访问配置的介绍 3.my测试环境上开启ClickHouse Server SSL配置 & 客户端SSL访问的配置流程 4.附录 1)SSL证书的几种类型 单域名SSL证书 通配符SSL证书 多域名SSL证书 多域名通配符SSL证书 2)单域名…...

云渲染与汽车CGI图像技术优势和劣势

在数字时代,云渲染技术以其独特的优势在汽车CGI图像制作中占据了重要地位。云渲染通过利用云计算的分布式处理能力,将渲染任务分配给云端的服务器集群进行计算,从而实现高效、高质量的渲染效果。 这种技术的优势主要体现在以下几个方面&#…...

信号与噪声分析——第二节:随机变量的统计特征

2.1 单个随机变量的统计特征 随机变量是什么? 当随机变量X的取值个数是有限个的时候,我们称它为离散随机变量。 当随机变量X的取值个数是无限个的时候,我们称它为连续随机变量。 1. 分布函数和概率密度 1.分布函数 分布函数 定义为随机变…...

PHP网络爬虫常见的反爬策略

PHP网络爬虫在抓取数据时,常常会遭遇各种反爬策略。这些策略是网站为了保护自身数据不被恶意爬取而设置的。以下是一些常见的PHP网络爬虫反爬策略: IP限制: 这是最常见的反爬虫技术。通过限制IP的访问,可以有效防止恶意的爬虫攻击…...

java java.util.Scanner设置编码

在Java中,可以通过设置Scanner对象的编码来读取特定编码的输入。 使用Scanner的构造方法时,可以传入一个InputStream对象作为参数来设置编码。例如,如果要设置编码为UTF-8,可以这样写: InputStream inputStream Syst…...

小菜家教平台(二):基于SpringBoot+Vue打造一站式学习管理系统

目录 前言 今日进度 详细过程 一、数据库重构 二、编写登录接口 相关知识点 前言 昨天我们重启了小菜家教平台的开发,创建了新项目并初步进行了配置,今天我们继续。大家要是有需要源码的话可以在评论区跟我说,博客中就不添加源码了~ 今…...

Android AndroidManifest 文件内标签及属性

以下是重新排版后的文章&#xff1a; AndroidManifest 1. <manifest> 它是AndroidManifest.xml文件的根标签&#xff0c;包含了整个应用程序的基本信息&#xff0c;如应用程序的包名、版本代码、版本名称等。所有其他标签几乎都是在manifest标签内部定义的。 示例&…...

修改sql server 数据库的排序规则Chinese_PRC_CI_AS(字符集+排序)

文章目录 引言I 解决方案案例II 知识扩展排序规则SQL SERVER支持的所有排序规则引言 新增sql server 数据库实例的默认排序规则不支持中文存储,导致乱码 解决方案: 修改排序规则为Chinese_PRC_CI_AS 或者 Chinese_PRC_Stroke_CI_AS_WS或者Chinese_PRC_CI_AI_KS_WS 仅对新增…...

【ChatGPT】让ChatGPT在回答中附带参考文献与来源

让ChatGPT在回答中附带参考文献与来源 在撰写内容时&#xff0c;引用参考文献和来源可以增强信息的可信度和权威性。通过引导ChatGPT生成带有参考文献的回答&#xff0c;用户能够获取更可靠的信息和背景资料。本文将探讨如何有效地引导ChatGPT在回答中附带参考文献与来源。 一…...

云计算 在esxi 如何创建磁盘存储

重启启动...

大屏可视化:舞动数据与美观的“设计秘籍”

大屏可视化鉴赏&#xff1a;踏入软件系统产品设计之旅&#xff0c;让我们一同鉴赏那些闪耀在智慧农业、智慧园区、智慧社区及智慧港口等领域的大屏可视化杰作。每一帧画面&#xff0c;都是科技与创新的完美融合&#xff0c;数据跃然屏上&#xff0c;智慧触手可及。 >> 数…...

w~视觉~3D~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12316553 #SAFDNet 3D点云物体检测对自动驾驶感知至关重要&#xff0c;如何高效地从稀疏点云数据中学习特征表示是3D点云物体检测面临的一个关键挑战。我们在本文中将会介绍团队发表在NeurIPS 2023的HEDNet和CVPR 2024的SAFD…...

android 怎么查看依赖包的大小

Android 项目依赖包大小查看方案 在 Android 项目开发过程中&#xff0c;依赖包管理是一个非常重要的环节。了解每个依赖包的大小有助于我们优化应用性能&#xff0c;减少应用安装包的大小。本文将介绍一种方法来查看 Android 项目中各个依赖包的大小。 1. 环境准备 在开始之…...

HyperLogLog 的原理 详解

HyperLogLog&#xff08;简称 HLL&#xff09;是一种用于近似计数&#xff08;特别是基数估计&#xff0c;Cardinality Estimation&#xff09;的算法&#xff0c;它能够在大数据场景中高效地估计集合中不同元素的数量&#xff0c;尤其适用于数据流的情况。HyperLogLog 相较于传…...

OCR、语音识别与信息抽取:免费开源的AI平台在医疗领域的创新应用

一、系统概述 在医疗行业中&#xff0c;大量数据来自手写病历、医学影像报告、患者对话记录等非结构化数据源。这些数据常常存在信息碎片化和管理困难的问题&#xff0c;给医务人员的工作带来了不便。思通数科AI多模态能力平台正是为了解决这一行业痛点而生&#xff0c;产品集…...

苍穹外卖Bug集合

初始化后端项目运行出现以下问题 以上报错是因为maven和jdk版本不符合&#xff0c;需要将jdk改成17&#xff0c;mavne改成3.9.9...

小菜家教平台(一):基于SpringBoot+Vue打造一站式学习管理系统

前言 现在已经学习了很多与Java相关的知识&#xff0c;但是迟迟没有进行一个完整的实践&#xff08;之前这个项目开发到一半&#xff0c;很多东西没学搁置了&#xff0c;同时原先的项目中也有很多的问题&#xff09;&#xff0c;所以现在准备从零开始做一个基于SpringBootVue的…...

PyCharm中pylint安装与使用

目录 1. 安装插件2. pycharm中使用该功能3. 命令行使用 1. 安装插件 然后重启 2. pycharm中使用该功能 3. 命令行使用 前提是先 pip install pylint pylint demo01.py下面红框内容的意思是&#xff0c;得到10分/ 满分10分&#xff0c;上次运行获得8.33分&#xff0c;经调整…...

一篇文章了解TCP/IP模型

TCP/IP模型&#xff0c;即传输控制协议/互联网协议模型&#xff08;Transmission Control Protocol/Internet Protocol Model&#xff09;&#xff0c;是互联网及许多其他网络上使用的分层通信模型。以下是对TCP/IP模型的详细介绍&#xff1a; 一、定义与组成TCP/IP模型是一个四…...

技术深度解析:Fritzing电路仿真与自动布线实现原理

技术深度解析&#xff1a;Fritzing电路仿真与自动布线实现原理 【免费下载链接】fritzing-app Fritzing desktop application 项目地址: https://gitcode.com/gh_mirrors/fr/fritzing-app Fritzing作为一款开源的电子设计自动化工具&#xff0c;其核心价值在于将复杂的电…...

【网络】Wireshark实战:TCP连接异常之RST报文深度解析

1. 认识TCP的RST报文&#xff1a;网络世界的紧急刹车 第一次在Wireshark里看到RST标志位时&#xff0c;我正盯着满屏的TCP握手包发呆。那个鲜红的[RST, ACK]就像交通信号灯突然变红&#xff0c;让原本流畅的数据传输戛然而止。简单来说&#xff0c;RST&#xff08;Reset&#x…...

福人板材靠谱供应商:企业采购决策核心要素解析

福人板材靠谱供应商&#xff1a;企业采购决策核心要素解析“选对福人板材靠谱供应商&#xff0c;比砍价更重要——企业采购决策的8个核心要素&#xff0c;少一个都可能踩坑”对于中小制造企业、装饰公司等采购方而言&#xff0c;福人板材作为行业知名的环保板材品牌&#xff0c…...

responder使用教程

Responder是Kali Linux中一款强大的网络欺骗工具&#xff0c;主要用于在局域网中捕获各种网络协议的认证信息&#xff0c;特别是NTLM哈希。它通过响应LLMNR&#xff08;链路本地多播名称解析&#xff09;、NBT-NS&#xff08;NetBIOS名称服务&#xff09;和mDNS&#xff08;多播…...

FPGA视频图像缩放,国外第三方IP;Verilog实现双线性插值视频缩放。 1)可以实现任意...

FPGA视频图像缩放&#xff0c;国外第三方IP&#xff1b;Verilog实现双线性插值视频缩放。 1&#xff09;可以实现任意大小的图片的放大与缩小&#xff0c;采用双线性插值或者邻近插值法&#xff1b; 2&#xff09;可以实现对输入图像的数据丢弃&#xff1b; 3&#xff09;可以实…...

OpenClaw技能扩展实战:用百川2-13B-4bits量化模型开发自定义自动化模块

OpenClaw技能扩展实战&#xff1a;用百川2-13B-4bits量化模型开发自定义自动化模块 1. 为什么选择百川2-13B-4bits量化模型 去年冬天&#xff0c;当我第一次尝试用本地部署的大模型开发OpenClaw技能时&#xff0c;显存不足的报错成了家常便饭。直到发现百川2-13B的4bits量化版…...

FreeRTOS实战:基于串口空闲中断与二值信号量构建高效数据接收框架

1. 串口通信的痛点与解决方案 在嵌入式开发中&#xff0c;串口通信是最基础也最常用的外设之一。但处理不定长数据时&#xff0c;很多开发者会遇到这样的困扰&#xff1a;要么频繁进入接收中断导致CPU负载过高&#xff0c;要么需要手动设置数据包长度增加协议复杂度。我在早期项…...

3步实现Axure RP本地化界面优化:开源工具助力中文设计环境构建

3步实现Axure RP本地化界面优化&#xff1a;开源工具助力中文设计环境构建 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-c…...

SpringBoot项目整合Redisson实战:从连接池报错到Redis集群健康检查的完整避坑指南

SpringBoot整合Redisson深度实践&#xff1a;连接池优化与集群健康监控全解析 Redis作为分布式系统的核心组件&#xff0c;其Java客户端Redisson的高阶用法一直是开发者关注的焦点。去年某电商平台大促期间&#xff0c;因Redis集群节点闪断导致的分布式锁失效事故&#xff0c;让…...

告别重复造轮子:用Matlab封装你的PyTorch模型,打造一个可复用的预测函数

工程化实践&#xff1a;将PyTorch模型封装为Matlab可复用预测模块 在工业仿真和科研计算领域&#xff0c;Matlab因其强大的矩阵运算能力和丰富的工具箱而广受欢迎。然而&#xff0c;当我们需要将训练好的PyTorch深度学习模型集成到现有Matlab工作流时&#xff0c;往往会遇到接…...