wolfram-mathematica - 托普利茨猜想的一般解
问题描述
Toeplitz 猜想: 平面上的每条连续简单闭合曲线都包含四个点,它们是正方形的顶点。
我试图找到(几乎)任何曲线f(x,y)=0的一般解决方案。
例如 :
(-1 + x^2 + y^2)^3 - x^2*y^3 = 0
ContourPlot[(-1 + x^2 + y^2)^3 == x^2*y^3, {x, -1.4, 1.4}, {y, -1.3, 1.5},
Frame -> False, PlotPoints -> 200]
求正方形的顶点一般有三个条件:
顶点坐标为(p1,k1),(p2,k2),(p3,k3),(p4,k4)
让
g[x_, y_] := (x^2 + y^2 - 1)^3 - x^2 y^3
1..顶点坐标满足心脏方程g(x,y)=0
eq1 = g[p1, k1] == 0;
eq2 = g[p2, k2] == 0;
eq3 = g[p3, k3] == 0;
eq4 = g[p4, k4] == 0;
2..所有边的长度相等。
eq5 =
EuclideanDistance[{p1, k1}, {p2, k2}] ==
EuclideanDistance[{p2, k2}, {p3, k3}] ==
EuclideanDistance[{p3, k3}, {p4, k4}] ==
EuclideanDistance[{p1, k1}, {p4, k4}];
3..每个内角都是直角
angle1 = VectorAngle[{p4 - p1, k4 - k1}, {p2 - p1, k2 - k1}] == Pi/2;
angle2 = VectorAngle[{p1 - p2, k1 - k2}, {p3 - p2, k3 - k2}] == Pi/2;
angle3 = VectorAngle[{p4 - p3, k4 - k3}, {p2 - p3, k2 - k3}] == Pi/2;
我有 8 个方程和8 个变量,我想使用Mathematica找到数值解
我试过了 :
NSolve[eq1 && eq2 && eq3 && eq4 && eq5 && angle1 && angle2 && angle3,
{p1, p2, p3, p4, k1, k2, k3, k4}]
或者
FindRoot[{eq1 && eq2 && eq3 && eq4 && eq5 && angle1 && angle2 && angle3},
{{p1, 1}, {k1, 1}, {p2, 1}, {k2, 1}, {p3, 1}, {k3,1}, {p4, 1}, {k4, 1}}]
但是没有答案...
解决方案
一旦你选择了两个点,其他两个点的位置就会随之而来。
如果您通过参数方程知道曲线,则从参数的两个值获得两个点。因此,您有一个包含两个未知数的两个方程组(表示点在曲线上)。
如果你没有参数方程,那么它就是四个未知数中的四个方程。
推荐阅读
- python-3.x - 最后一行的错误语法错误是什么
- javascript - 在 setTimeout 之前和之后使用异步函数调用开玩笑
- azure - 通过不处理 cosmos DB gremlin API 上的预计值进行分组
- c - 两个线程可以访问全局变量吗?
- python - 仍然找到安装了 pyenv 的系统 python - 安装模块
- shell - 使用动态值而不是硬编码
- javascript - 创建 2 天后更改 MongoDB 项目值
- office365 - Office 365。溢出函数功能
- python - django 中 django.contrib.auth.forms 中的 UserCreationForm 不再起作用了吗?
- android - React Native:本机方法 ExpoLocalAuthentication.authenticateAsync 需要 0 个参数但收到 1