博客
关于我
物理模型建模demo
阅读量:727 次
发布时间:2019-03-22

本文共 1506 字,大约阅读时间需要 5 分钟。

第一次做物理建模这事,还挺有意思,由于只是demo,没有深入研究下去,所以这个目标也就比较浅显,只是:检测旋转到某1角度不要发生碰撞,不带重力

 

 

from shapely.geometry import Polygonfrom shapely import affinityimport matplotlib.pyplot as pltdef make_car(leftX, leftY, width, height):    car_lines = Polygon([(leftX, leftY), (leftX+width, leftY), (leftX+width, leftY+height), (leftX, leftY+height), (leftX, leftY)])    return car_linesdef showCar(car):    # x, y = car.xy    x, y=car.exterior.xy    plt.plot(x, y)def showCars(cars):    for car in cars:        showCar(car)car_width=4.7car_height=2.5car1 = make_car(1, 1, car_width, car_height)car2 = make_car(6, 1, car_width, car_height)car3 = make_car(11, 1, car_width, car_height)car4 = make_car(16, 1, car_width, car_height)car5 = make_car(1, 6, car_width, car_height)car6 = make_car(6, 6, car_width, car_height)car7 = make_car(11, 6, car_width, car_height)car8 = make_car(16, 6, car_width, car_height)plt.axis('equal')plt.ion()cars = [car1, car2, car3, car4, car5, car6, car7, car8]showCars(cars)plt.pause(1)for i in range(1, 30):    plt.cla()    rotated_car3 = affinity.rotate(car3, i)    showCars([car1, car2, rotated_car3, car4, car5, car6, car7, car8])    #计算是否碰撞    print('=======================', i, '====================')    cars = [car1, car2, car4, car5, car6, car7, car8]    conflict=False    for car in cars:        if rotated_car3.intersects(car):            conflict=True            break    if conflict:        print('撞到了,当前旋转角度:', i)        break    plt.pause(0.1)plt.ioff()plt.show()

  

 

 

代码比较简单,用到的有几何库:shapely  

 

转载地址:http://gfkwk.baihongyu.com/

你可能感兴趣的文章
angular2项目里使用排他思想
查看>>
折线图上放面积并隐藏XY轴的线
查看>>
failed to push some refs to git
查看>>
在苹果Mac上如何更改AirDrop名称?
查看>>
1110 Complete Binary Tree (25 point(s))
查看>>
541【毕设课设】基于单片机电阻电感电容RLC测量仪系统
查看>>
568【毕设课设】基于单片机多路温度采集显示报警控制系统设计
查看>>
基于8086交通灯系统仿真设计(微机原理设计资料)
查看>>
解读域名管理之:域名注册机构介绍
查看>>
找中位数
查看>>
这些运维发展方向及系统运维技能都不了解,怎么能吃透Linux??
查看>>
自动化测试——UI自动化测试的痛点
查看>>
如何将萌推商品主图、属性图、详情图批量保存到电脑的方法
查看>>
2021年N1叉车司机模拟考试及N1叉车司机考试软件
查看>>
【奇淫巧技】Java动态代理(JDK和cglib)
查看>>
2021-05-11 现代操作系统 《现代操作系统 第4版》第3章 内存管理——总结(分段,分页,段页)(转载)
查看>>
【Stimulsoft Reports.Net教程】使用DesignerFx
查看>>
攻防世界 Pwn 新手
查看>>
mybtis-plus 出现 Wrong namespace
查看>>
用户登陆的验证码的制作
查看>>