1 Star 4 Fork 1

础砜/使用easyx图形库实现的弹簧质点系统

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

弹簧质点系统

项目背景

从taichi编程语言的爆红了解到了胡渊鸣大神,从他在bilibili发布的视频教程我了解到了弹簧质点系统的模拟,并尝试用C语言和easyx图形库实现相关功能,不仅如此,我还开发出了自己的独特功能,比如用颜色来表示力的大小。后来靠它完成了C语言大作业,并且得了A的好成绩。之后我会继续完善,现开放源代码供大家交流学习。

安装

  • 操作系统:Windows XP(sp3) 及以上操作系统。
  • 编译环境:Visual C++ 6.0,Visual Studio 2008 ~ 2019 (x86 & x64)。 本程序仅有一个文件,但由于其引用了easyx.h,所以不支持gcc编译器。下载之后,打开vs,将其添加到项目中,生成项目即可完成编译。

使用

  1. 点击鼠标左键,就会在窗口里鼠标指针的位置生成一个质点,该质点的速度和位移受重力,空气阻力,以及可能的弹簧力和减震阻力的影响。质点会受重力下落,但不会超过窗口区域,会被限制在窗口区域内。当鼠标指针位置与其他质点的距离小于一定值时,指针与这些质点间会产生一条辅助线,点击鼠标左键将会生成一个与这些质点相连的新质点,它们之间的线就是弹簧,该弹簧符合胡克定律,但弹簧两端的质点会受到减震阻力,因而整个系统会逐渐静止下来。
  2. 点击鼠标左键+ctrl键,会在窗口里鼠标指针的位置生成一个红色的、固定在空中的质点,该质点除了速度永远为零外与其他质点的物理性质完全相同。
  3. 按下鼠标右键会在鼠标指针处生成一个引力点,可以吸引所有的质点聚集于此。
  4. 按下鼠标右键+ctrl键,暂停更新所有质点的大多数数据,此时看上去他们就会被定在空中,但是此时仍可以生成新质点,也可以连接新弹簧。
  5. 点击鼠标中键,撤销上一个质点的生成。
  6. 点击鼠标中键+ctrl,清空质点和弹簧。
  7. 按下鼠标右键+shift键,开启或关闭受力示意功能。开启后,弹簧颜色越接近绿色,弹簧力越小;颜色越接近红色,弹簧力越大。
  8. 按下ctrl键再滚动滚轮,即可调节弹簧的劲度系数值,初始值为10。
  9. 按下shift键再滚动滚轮,分两种情况:如果此时鼠标指针在窗口左半部分,那么就可以调节空气阻力系数;否则可以调节减震系数。
  10. 屏幕上会显示使用信息,以及五个重要数据(当前质点数、当前弹簧数、当前劲度系数、当前空气阻力系数、当前减震系数)的实时值。
  11. 屏幕右上角还会显示FPS值,也就是每秒显式循环次数。
MIT License Copyright (c) 2020 础砜 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

从taichi编程语言的爆红了解到了胡渊明大神,从他在bilibili发布的视频教程我了解到了弹簧质点系统的模拟,并尝试用C语言和easyx图形库实现相关功能,不仅如此,我还开发出了自己的独特功能,比如用颜色来表示力的大小。后来靠它完成了C语言大作业,并且得了A的好成绩。之后我会继续完善,现开放源代码供大家交流学习。 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/chufeng-official/Spring-particle-system.git
git@gitee.com:chufeng-official/Spring-particle-system.git
chufeng-official
Spring-particle-system
使用easyx图形库实现的弹簧质点系统
master

搜索帮助