博客
关于我
物理模型建模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/

你可能感兴趣的文章
专访汇付数据副总裁姜靖宇:“纸上谈兵”时代终结,人工智能将变革第三方支付行业
查看>>
Redis学习笔记—单个键管理
查看>>
wordpress架站踩坑过程
查看>>
一个简单的游戏框架[汇总]
查看>>
免费好用的证件扫描仪-扫描全能王
查看>>
面试题5:(事务管理) ACID 是什么?
查看>>
10.Mybatis执行流程
查看>>
SpringMvc前台传Date类型到后台报400错误。
查看>>
Http状态码
查看>>
通信过程图
查看>>
maven核心
查看>>
使用maven
查看>>
依赖范围scope
查看>>
apache服务器 vs Tomcat服务器
查看>>
springboot:集成 Jsp
查看>>
Python:简介
查看>>
python:input
查看>>
python:字符串
查看>>
cobaltstrike生成一个原生c,然后利用xor加密解密执行
查看>>
HTML中如何给HTML元素添加事件
查看>>