前两天,一个朋友找我(半个程序猿)用python帮他写数学模型,当时的我直接是懵逼的,当听到三维啥的时候,整个人就好了,最终在周末花了3个小时把逻辑理了一遍,给小伙伴一个满意的答复了,话不多说,我来整理一下怎么用python来做数学!!! 首先题目是:建立一个三维坐标,有一个y点和一个x点,假设x点是匀速的,已知第一个x点的坐标,之后的坐标只知道方位角和高低角(相对于y点),相当于确定一个点和一个射线,以之之前的点做球,求球与射线的交点就是下一个点,要得出点的坐标 经分析下来: 初始点z的坐标为…
摘自[3D数学基础: 图形与游戏开发] 考虑在3D中两条以参数形式定义的射线: \(\vec{r_1}(t_1)=\vec{p_1}+t_1\vec{d_1}\) \(\vec{r_2}(t_2)=\vec{p_2}+t_2\vec{d_2}\) 我们能够解得它们的交点.暂时先不考虑\(t_1,t_2\)的取值范围.因此,我们考虑的是无限长的射线:同样,向量\(\vec{d_1},\vec{d_2}\)也不必是单位向量.如果这两条射线在一个平面中,那么和前一节的情况一样,也存在有一种可能性: 两…
Python之进度条及π的计算 文本进度条 1.  简单的开始 这是利用print()函数来实现简单的非刷新文本进度条.它的基本思想是按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条. 为了模拟任务处理的时间效果,需要调用Python标准时间库time. 完整代码如下: import time scale=10 print("-----执行开始-----") for i in range(scale+1): a,b='**'*i,'..'*(scale-i) c…
利用Python计算π的值,并显示进度条  第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import * total,s,n,t=0.0,1,1.0,1.0 clock() while(fabs(t)>=1e-6):     total+=t     n+=2     s=-s     t=s/n k=total*4 print("π值是{:.10f}  运行时间为{:.4f}秒".…
用Python计算幂的两种方法: #coding:utf-8 #计算幂的两种方法.py #1.常规方法利用函数 #不使用递归计算幂的方法 """ def power(x,n): result=1 for i in range(n): 1 2 3 result*=x #result=result*x x=2 result=1*2 result=2*2 result=4*2 print result #2,4,8 null result=1*4 result=4*4 print…
Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). 斗牛的玩法是: 把牌中的JQK都拿出来 每个人发5张牌 如果5张牌中任意三张加在一起是10的 倍数,就是有牛.剩下两张牌的和的10的余数就是牛数. 牌的大小: 4条 > 3条 > 牛十 > 牛九 > -- > 牛一 >没有牛 而这些牌出现的概率是有多少呢? 由于只有四十张…
本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函数取得的长度,进行对比即可知道字符串内中文字符的数量,自然就可以计算出字符串的长度了. value=u'脚本12' length = len(value) utf8_length = len(value.encode('utf-8')) length = (utf8_length - length)…
校验和是经常使用的,这里简单的列了一个针对按字节计算累加和的代码片段.其实,这种累加和的计算,将字节翻译为无符号整数和带符号整数,结果是一样的. 使用python计算校验和时记住做截断就可以了. 这里仅仅是作为一个代码样本,权作标记,直接上代码 简单说明一下上面的脚本.如果是当作无符号整数来计算,则算法要简单很多,实际上都可以缩减为一句代码的事.如果是当作带符号整数来计算,则算法要复杂一下,要处理各种上溢出和下溢出的情形.正如文章开头指出的,不论使用哪种方式,最后的二进制表示都是一样的.所以一般…
本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: 1.问题: 给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年? 2.解决方法: 标准模块datetime和第三方包dateutil(特别是dateutil的rrule.count方法)能非常简单迅速的帮你解决这个问题. from dateutil import rrule import datetime def weeks_between(start_date, end_date):   we…
如何用Python计算最长公共子序列和最长公共子串 1. 什么是最长公共子序列?什么是最长公共子串? 1.1. 最长公共子序列(Longest-Common-Subsequences,LCS) 最长公共子序列(Longest-Common-Subsequences,LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题.这与查找最长公共子串的问题不同的地方是:子序列不需要在原序列中占用连续的位置 . 最长公共子序列问题是一个经典的计算机科学问题,也是数据比较程序,比如…