你的问题是你的代码格式太差了,你看不到你的括号错误。在

错误1

例如,这一行:sideA = math.sqrt((x - mousex)**2)+((y - mousey)**2)

如果格式正确,如下所示:

^{pr2}$

当你去掉多余的括号,你可以更清楚地看到发生了什么:sideA = math.sqrt((x - mousex) ** 2) + (y - mousey) ** 2

你只需要把你两边的平方数传给math.sqrt(),然后再加上第二边的平方。它应该是:sideA = math.sqrt((x - mousex) ** 2 + (y - mousey) ** 2)

甚至更好:sideA = math.hypot(x - mousex, y - mousey)

错误2

然后这一行:cos = float(sideA**2)-(sideB**2)-(sideC**2)/(-2*(sideB*sideC))

有一个类似的问题-你在前三个项的周围缺少圆括号,而你只把C边的平方除以2bc。它应该是:cos = (sideA ** 2 - sideB ** 2 - sideC ** 2) / ( -2 * sideB * sideC)

解决方案

由于上述原因,您没有正确计算余弦,所以您传递给math.acos()的内容超出了余弦的允许范围(余弦始终在-1 <= cos A <= 1范围内),所以它给了您域错误。把你的值打印出来会让你看到你得到的东西真的很奇怪。在

这是您的程序的一个固定的工作版本,修改后只直接为mousex和mousey设置值:#!/usr/bin/env python

import math

x, y = 100, 100

centerX, centerY = x + 50, y + 50

mousex, mousey = 100,150

sideA = math.hypot(x - mousex, y - mousey);

sideB = math.hypot(centerX - mousex, centerY - mousey)

sideC = math.hypot(centerX - x, centerY - y)

cosA = (sideB ** 2 + sideC ** 2 - sideA ** 2) / (2 * sideB * sideC)

angle = math.acos(cosA)

print "sideA: %.2f, sideB: %.2f, sideC: %.2f" % (sideA, sideB, sideC)

print "cosA: %.6f" % (cosA)

print "angle: %.2f radians, %.2f degrees" % (angle, math.degrees(angle))

哪些输出:paul@horus:~/src/sandbox$ ./angle.py

sideA: 50.00, sideB: 50.00, sideC: 70.71

cosA: 0.707107

angle: 0.79 radians, 45.00 degrees

paul@horus:~/src/sandbox$

我已经自由地重新安排了你的余弦规则计算,以消除需要否定分母。在

python求反余弦_python数学.acos反余弦问题相关推荐

  1. python求众数程序_python求众数问题实例

    本文实例讲述了python求众数问题的方法,是一个比较典型的应用.分享给大家供大家参考.具体如下: 问题描述: 多重集中重数最大的元素称为众数...就是一个可以有重复元素的集合,在这个集合中重复的次数 ...

  2. python求交点坐标_Python求两个圆的交点坐标或三个圆的交点坐标方法

    计算两个圆的交点 代码如下: # -*- coding: utf-8 -*- import math import numpy as np def insec(p1,r1,p2,r2): x = p1 ...

  3. python求不规则图形面积_python 微积分之---黎曼和

    黎曼求和 这里有一块形状不规则的土地,要测量它的面积,怎么办呢?一个叫黎曼的德国数学家(Bernhard Riemann, 1826-1866),他想了个办法:将这不规则图形切成一条条的小长条儿,然后 ...

  4. python求数字平均值_python 求10个数的平均数实例

    python 求10个数的平均数实例 更新时间:2019年12月16日 18:00:02 作者:qq_20076527 今天小编就为大家分享一篇python 求10个数的平均数实例,具有很好的参考价值 ...

  5. python求素数算法_Python程序最多可计算n个质数(使用不同算法)

    python求素数算法 There are various methods through which we can calculate prime numbers upto n. 我们可以通过多种方 ...

  6. python 求最大值实例_Python 求数组局部最大值的实例

    求数组局部最大值 给定一个无重复元素的数组A[0-N-1],求找到一个该数组的局部最大值.规定:在数组边界外的值无穷小.即:A[0]>A[-1],A[N-1] >A[N]. 显然,遍历一遍 ...

  7. Python求列表中位数:使用取反操作

    1.偶数个元素的列表 [1,2,3,4,5,6],中位数为中间两个的均值,索引分别为2,3,副索引为-3,可以认为是-(2+1),也就是2取反的值~2 2.奇数个数的列表 [1,2,3,4,5],中位 ...

  8. python爬虫热点代理_Python爬虫实战——反爬策略之代理IP【无忧代理】

    一般情况下,我并不建议使用自己的IP来爬取网站,而是会使用代理IP. 原因很简单:爬虫一般都有很高的访问频率,当服务器监测到某个IP以过高的访问频率在进行访问,它便会认为这个IP是一只"爬虫 ...

  9. python求偏导_python实现点位精度评定

    点位精度评定,主要是评定点位数据得l离散度.评定主要是一系列得数学值.在python的numpy中有一些列的函数可以用来实现这一系列的评估值. 1.期望 期望表示一点点位最可能出现的位置.一般情况下期 ...

最新文章

  1. 3D大脑图谱-Julich-Brain被称作“Google Earth of the brain”
  2. Powershell快速入门(二) Shell编程
  3. SLAM | 使用三维位姿图优化减少单目视觉里程计(3D Visual Odometry)定位轨迹的漂移(附源代码)
  4. CSharpGL(29)初步封装Texture和Framebuffer
  5. (转载)树、森林与二叉树的转换
  6. 实例变量和局部变量区别
  7. 用 man 命令查看 ls 命令的使用手册_Python学习第167课--用man和info打开Linux命令说明书的区别...
  8. 数据挖掘在电信欺诈侦测中的应用
  9. 学习vim: 配置python相关插件
  10. 【转】commons-lang.jar包简介
  11. Java核心技术点之反射
  12. 易语言之编译后图标模糊的处理方案
  13. 最小生成树算法之Prim(普里姆)算法
  14. 网龙百万3D角色编辑系统介绍
  15. 数字图像分辨率的认识
  16. 批量ping多个IP地址
  17. 谈一谈对JS闭包的理解
  18. “永远肩负守卫物联网安全的责任和使命”——Ayla CTO发声美网瘫痪事件
  19. 华硕笔记本X450JB拆机及加装固态硬盘
  20. 【TCP专题】TCP连接建立

热门文章

  1. 【实操】python opencv将图片合成视频,并插入音频
  2. 电大计算机应用基础word排版,电大计算机应用基础考试全部操作100题
  3. 【转载】ABAP CDS 函数
  4. OSG中使用png图片显示透明效果
  5. win10 下 caffe 的第一个测试程序(附带详细讲解)
  6. vue-router 有哪几种导航钩子
  7. 第二周例行报告(王伟东)
  8. 颜色在计算机中的存储和显示详解
  9. 百度计算机调试员论文,基于西门子工业软件的仿真专业系统设计一阶惯性加纯滞后对象百度精.doc...
  10. 微前端MicroApp的学习(一):简单搭建项目