JavaScript中直线和圆之间的碰撞检测

Collision detection between a line and a circle in JavaScript(JavaScript中直线和圆之间的碰撞检测)
本文介绍了JavaScript中直线和圆之间的碰撞检测的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一个明确的答案,也许是一个函数,因为我很慢,它将确定线段和圆是否发生碰撞,在 javascript 中(使用画布)

I'm looking for a definitive answer, maybe a function cos I'm slow, that will determine if a line segment and circle have collided, in javascript (working with canvas)

像下面这样的函数,如果发生碰撞,则返回 true,否则返回 false.我什至可以给你捐一个婴儿.

A function like the one below that simply returns true if collided or false if not would be awesome. I might even donate a baby to you.

function isCollided(lineP1x, lineP1y, lineP2x, lineP2y, circlex, circley, radius) {

    ...
}

我找到了很多公式,像这个,但它们超出了我的范围头.

I've found plenty of formulas, like this one, but they are over my head.

推荐答案

这里你需要一些数学:

如果您一般不知道如何求解方程,这是基本概念.我会把剩下的想法留给你.;) 弄清楚 CD 的长度并不难.

This is the basic concept if you don't know how to solve equations in general. I will leave the rest of the thinking to you. ;) Figuring out CD's length isn't that hard.

如果您要问如何,那就是如何:在 JavaScript 中查找冲突有点复杂.

If you are asking how, that's how: Finding collisions in JavaScript is kind of complicated.

这篇关于JavaScript中直线和圆之间的碰撞检测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)