模仿醉汉在二维空间上的全方向漫步:一个醉汉喝醉酒,每次只能走一步,每步分别沿着x,y轴走一个单位长度,试着画出醉汉的轨迹。

要想做到360方向走有很多种方法
1.利用角度的函数,用三角函数

2.写一个随机函数来给a,b赋值,让a和b的平方相加为1,再让listx和listy中的当前坐标值加上a,b,那就能确保每次走一步,而且为360度的任意方向,描出点画出轨迹

这里用到第二种方法

import cmath

from matplotlib import pyplot as plt
import numpy as np
from numpy import random as npr


def pointxy(): #设置角度和距离的函数
    a = 2 * (np.random.random() - 0.5)
    b = cmath.sqrt(1 - a * a) * (-1) ** npr.randint(1, 3)
    return a, b

listx = [0]
listy = [0]
for i in range(10):
    a, b = pointxy()
    listx.append(listx[i] + a)
    listy.append(listy[i] + b)
plt.title("mmmm")
x = np.asarray(listx)
y = np.asarray(listy)
plt.plot(x, y, 'go-')#Plt.plot(x,y)中的x,y要是向量,列表传入会报错
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值