java 绘制螺旋线,java-如何创建漩涡/漩涡效果?
我试图在作为传感器的圆形物体上产生漩涡效果.
我一直在寻找它,我寻找的所有示例都在C或Objective C中进行,但我似乎翻译得不太好.
当我的对象归类时,它将调用beginContact(..)并设置一个标志,以便我可以调用bodyToUpdate.applyForce(…);
public void beginContact(Contact contact) {
setColliding(true);
}
//updating collition every frame
public void act(){
if (colliding) {
ball.getBody().applyForce(....);
}
如何计算施加于每个框架以使其涡旋的力大小?
编辑:
所以我现在使物体直接到达涡旋中心,但没有“旋转”
public void act() {
if (colliding) {
ball.getBody().setLinearVelocity(0, 0);
ball.getBody().applyForce((portal.getBody().getPosition().x - ball.getBody().getPosition().x) * i,
(portal.getBody().getPosition().y - ball.getBody().getPosition().y) * i,
ball.getBody().getPosition().x, ball.getBody().getPosition().y, true);
i++;
} else
i = 10;
}
解决方法:
如果“旋转”是指下落的物体将沿着曲线或螺旋线移动,而不是立即改变向黑洞的移动方向,那么这很容易解决.
ball.getBody().setLinearVelocity(0, 0);
这完全停止了身体的当前运动.我将从删除该行开始.另外,为了获得更好的逼真的行为,您可以按照正确的公式来计算吸引力,如下所示:
force = mass1 * mass2 * [some constant] / (distance ^ 2)
当具有从身体到黑洞的向量(计算为黑洞位置-身体位置)时,向量的长度就是该距离,并且在对力进行归一化并乘以后,便得到了所需的forceX和forceY力向量只要它保持在孔的范围内,每次更新都需要将其应用于身体.
但是,此公式将使力随着物体靠近孔而增大到无穷大,因此如果引起任何麻烦,您可以尝试更改为线性转换(最接近= 1,最接近= 0).
force = mass1 * mass2 * [some constant] * ( (maxDistance - distance) / maxDistance )
标签:java,libgdx,box2d,whirlpool,blackhole
来源: https://codeday.me/bug/20191012/1903407.html
java 绘制螺旋线,java-如何创建漩涡/漩涡效果?相关推荐
- java 绘制长方形_Java入门:绘制简单图形
在上一节,我们学习了如何使用swing和awt工具创建一个空的窗口,本节学习如何绘制简单图形. 基本绘图介绍 Java中绘制基本图形,可以使用Java类库中的Graphics类,此类位于java.aw ...
- 京东百万年薪大佬用JAVA绘制“五子棋棋盘”(附代码)
这篇文章主要为大家详细介绍了java绘制五子棋棋盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 具体内容如下 源码: import javax.imageio.Ima ...
- Java绘制椭圆和矩形(实现自由变化大小的功能)
一个简单的画板应用程序,用户可以通过鼠标在画板上自由绘制任意大小的矩形或椭圆. 用户通过点击按钮,选择要绘制的矩形(rect)或者椭圆(oval),以及选择画笔的颜色(红色.蓝色.以及黑色).绘制完成 ...
- java绘制棋盘_java绘制五子棋棋盘
本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 源码: import javax.imageio.ImageIO; import javax.swing.*; impo ...
- java绘制五子棋棋盘
java绘制棋盘 文章目录 java绘制棋盘 源码 效果图 源码 import javax.imageio.ImageIO; import javax.swing.*; import java.awt ...
- java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...
- java绘制五子棋_java绘制五子棋棋盘
免费资源网,https://freexyz.cn/ 本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 源码: import javax.imageio.ImageIO; ...
- java ppt 绘图,Java 在PPT中绘制图形
原标题:Java 在PPT中绘制图形 Microsoft PowerPoint可支持在幻灯片中插入各种类型的图形并且可设置图形填充.线条颜色.图形大小.位置等.下面将通过Java编程来演示在PPT中绘 ...
- Java绘制基本图形
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/twilight_karl/article/details/53053505 import java.awt ...
最新文章
- 零基础学java培训怎么选择学校
- MySQL中你必须知道的10件事,1.5万字!
- 洛谷P2486 [SDOI2011]染色(树链剖分+线段树判断边界)
- linux read函数_浅谈Linux内核IO体系之磁盘IO
- window.location.href 跳转失败
- 打开.net web项目,出现Unable to get the project ile from the web server错误
- emu8086汇编——字符串匹配算法程序
- 成都焱炎 抖音AI大数据 不root 不装xp
- 使用jQuery快速高效制作网页交互特效 第三章 上机练习三 制作课工场论坛发帖
- 《矩阵理论与方法》lambda矩阵及Jordan标准形
- Draggabilly中文文档
- 搜索引擎Lucene(2):索引文件结构及格式
- TPS和QPS 并发量区别;日活 访问量 活跃度
- 深度学习(七)梯度弥散(消散)和梯度爆炸
- css 文本超出就隐藏并且显示省略号
- 《那些年啊,那些事——一个程序员的奋斗史》十
- LeetCode:911. 在线选举————中等
- Vegas中的Vignette暗角视频特效如何使用?
- 勉强算是面经——3.中软国际
- python运行github项目_从gitHub上拉取并运行项目