{"id":592,"date":"2026-09-28T14:36:54","date_gmt":"2026-09-28T06:36:54","guid":{"rendered":"https:\/\/arkdoc.cc\/?p=592"},"modified":"2026-09-28T16:43:31","modified_gmt":"2026-09-28T08:43:31","slug":"592","status":"publish","type":"post","link":"https:\/\/arkdoc.cc\/index.php\/2026\/09\/28\/592\/","title":{"rendered":""},"content":{"rendered":"\n<div id=\"preview\" class=\"latex-article tex2jax_process dark\" style=\"color: #e2e8f0;\">\n  <h1 style=\"color: #f8fafc;\">Lecture: Global Dynamics of 4D Ricker Maps<\/h1>\n\n  <p style=\"color: #cbd5e1;\">\u5728\u591a\u7269\u79cd\u7ade\u4e89\u4e0e\u79cd\u7fa4\u751f\u7269\u5b66\u6a21\u578b\u4e2d\uff0c\u9ad8\u7ef4\u79bb\u6563\u6620\u5c04\uff08Discrete Maps\uff09\u5c55\u73b0\u51fa\u4e86\u6781\u4e3a\u4e30\u5bcc\u7684\u5206\u5c94\u884c\u4e3a\u4e0e\u6df7\u6c8c\u6d41\u5f62\u7ed3\u6784\u3002\u672c\u6587\u9488\u5bf9\u7ecf\u5178 <span style=\"color: #38bdf8;\">4\u7ef4 Ricker \u7cfb\u7edf<\/span> \u7684\u63a7\u5236\u53c2\u6570\u8fdb\u884c\u8fde\u7eed\u6f14\u5316\u6a21\u62df\uff0c\u6f14\u793a\u7531\u51c6\u5468\u671f\u95ed\u73af (Invariant Curve) \u9010\u6b65\u7ecf\u8fc7\u500d\u5468\u671f\u5206\u5c94\u6f14\u5316\u81f3\u6df7\u6c8c\u5438\u5f15\u5b50\u7684\u5b8c\u6574\u8fc7\u7a0b\u3002<\/p>\n\n  <p style=\"color: #cbd5e1;\">\u7cfb\u7edf\u7684\u56db\u7ef4\u975e\u7ebf\u6027\u81ea\u6cbb\u79bb\u6563\u6620\u5c04\u516c\u5f0f\u5b9a\u4e49\u5982\u4e0b\uff1a<\/p>\n  <p class=\"no-indent-p\" style=\"color: #f8fafc;\">\n    $$\\begin{aligned}\n    T_1(x) &#038;= x_1 \\exp\\left(0.178(1 &#8211; 1.821x_1 &#8211; 0.898x_2 &#8211; 0.774x_3 &#8211; 3.542x_4)\\right) \\\\\n    T_2(x) &#038;= x_2 \\exp\\left(0.222(1 &#8211; 0.912x_1 &#8211; 2.289x_2 &#8211; 0.0032x_3 &#8211; 6.641x_4)\\right) \\\\\n    T_3(x) &#038;= x_3 \\exp\\left(0.105(1 &#8211; 2.321x_1 &#8211; 0.994x_2 &#8211; 1.507x_3 &#8211; 0.0669x_4)\\right) \\\\\n    T_4(x) &#038;= x_4 \\exp\\left(r(1 &#8211; 0.0425x_1 &#8211; 3.541x_2 &#8211; 1.691x_3 &#8211; 2.342x_4)\\right)\n    \\end{aligned}$$\n  <\/p>\n\n  <!-- 3D \u6e32\u67d3\u4e0e\u63a7\u5236\u7ec4\u4ef6\u5bb9\u5668 -->\n  <div class=\"latex-figure\" style=\"all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; margin: 25px 0; width: 100%;\">\n    <div style=\"background: #0b0f19; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 12px; padding: 16px; color: #f8fafc; box-sizing: border-box; width: 100%; display: flex; flex-direction: column; gap: 16px;\">\n      \n      <!-- \u4e0a\u65b9\uff1a\u539f\u751f Canvas 3D \u6e32\u67d3\u533a\u57df\uff08\u65e0\u7f51\u683c\u7eaf\u51c0\u80cc\u666f\uff09 -->\n      <div id=\"rk-canvas-container\" style=\"width: 100%; height: 500px; position: relative; background: #05070e; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.1); overflow: hidden; cursor: grab;\">\n        <canvas id=\"rk-native-canvas\" style=\"width: 100%; height: 100%; display: block;\"><\/canvas>\n        <div id=\"rk-txt-status\" style=\"position: absolute; bottom: 10px; left: 10px; background: rgba(15, 23, 42, 0.85); border: 1px solid rgba(255, 255, 255, 0.1); padding: 4px 8px; border-radius: 4px; font-family: monospace; font-size: 11px; color: #38bdf8; pointer-events: none; z-index: 10;\">\u6b63\u5728\u8ba1\u7b97\u76f8\u8f68&#8230;<\/div>\n        <div style=\"position: absolute; top: 10px; right: 10px; background: rgba(15, 23, 42, 0.7); border: 1px solid rgba(255, 255, 255, 0.1); padding: 4px 8px; border-radius: 4px; font-size: 10px; color: #94a3b8; pointer-events: none;\">\u6309\u4f4f\u9f20\u6807\u5de6\u952e\u53ef\u62d6\u62fd\u65cb\u8f6c | \u9f20\u6807\u6eda\u8f6e\u7f29\u653e<\/div>\n      <\/div>\n\n      <!-- \u4e0b\u65b9\uff1a\u63a7\u5236\u5668\u9762\u677f -->\n      <div style=\"width: 100%; background: rgba(30, 41, 59, 0.7); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 16px; box-sizing: border-box;\">\n        <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px;\">\n          \n          <!-- \u53c2\u6570\u4e0e\u7f29\u653e\u8c03\u8282\u533a -->\n          <div style=\"display: flex; flex-direction: column; gap: 8px;\">\n            <div style=\"font-weight: bold; color: #38bdf8; font-size: 12px;\">\u63a7\u5236\u53c2\u6570<\/div>\n            <div style=\"display: flex; justify-content: space-between; align-items: center; gap: 8px;\">\n              <span style=\"color: #94a3b8; font-size: 12px; white-space: nowrap;\">\u53c2\u6570 r:<\/span>\n              <input type=\"range\" id=\"rk-s-r\" min=\"0.01\" max=\"0.10\" step=\"0.0001\" value=\"0.0498\" style=\"flex:1;\">\n              <input type=\"number\" id=\"rk-n-r\" min=\"0.01\" max=\"0.10\" step=\"0.0001\" value=\"0.0498\" style=\"width: 65px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\">\n            <\/div>\n            <div style=\"display: flex; justify-content: space-between; align-items: center; gap: 8px;\">\n              <span style=\"color: #94a3b8; font-size: 12px; white-space: nowrap;\">\u6f14\u5316\u901f\u5ea6:<\/span>\n              <input type=\"range\" id=\"rk-s-spd\" min=\"1\" max=\"30\" step=\"1\" value=\"10\" style=\"flex:1;\">\n              <input type=\"number\" id=\"rk-n-spd\" min=\"1\" max=\"30\" step=\"1\" value=\"10\" style=\"width: 65px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\">\n            <\/div>\n            <div style=\"display: flex; justify-content: space-between; align-items: center; gap: 8px;\">\n              <span style=\"color: #94a3b8; font-size: 12px; white-space: nowrap;\">\u89c6\u89d2\u7f29\u653e:<\/span>\n              <input type=\"range\" id=\"rk-s-zoom\" min=\"0.5\" max=\"5.0\" step=\"0.1\" value=\"1.95\" style=\"flex:1;\">\n              <input type=\"number\" id=\"rk-n-zoom\" min=\"0.5\" max=\"5.0\" step=\"0.1\" value=\"1.95\" style=\"width: 65px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\">\n            <\/div>\n            <div>\n              <select id=\"rk-s-axis\" style=\"width: 100%; background: #0f172a; border: 1px solid #334155; color: #fff; border-radius: 4px; padding: 4px; font-size: 12px;\">\n                <option value=\"4-3-1\" selected>3D \u6295\u5f71: X:x4 | Y:x3 | Z:x1 (\u4e3b\u56fe)<\/option>\n                <option value=\"4-3-2\">3D \u6295\u5f71: X:x4 | Y:x3 | Z:x2<\/option>\n                <option value=\"1-2-3\">3D \u6295\u5f71: X:x1 | Y:x2 | Z:x3<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n\n          <!-- \u521d\u503c\u914d\u7f6e\u533a -->\n          <div style=\"display: flex; flex-direction: column; gap: 8px;\">\n            <div style=\"font-weight: bold; color: #38bdf8; font-size: 12px;\">\u521d\u503c\u8bbe\u7f6e x\u2080<\/div>\n            <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 8px;\">\n              <div style=\"display: flex; align-items: center; justify-content: space-between;\"><span style=\"color: #94a3b8; font-size: 12px;\">x\u2081:<\/span><input type=\"number\" id=\"rk-i-x1\" value=\"0.4\" step=\"0.05\" style=\"width: 60px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\"><\/div>\n              <div style=\"display: flex; align-items: center; justify-content: space-between;\"><span style=\"color: #94a3b8; font-size: 12px;\">x\u2082:<\/span><input type=\"number\" id=\"rk-i-x2\" value=\"0.3\" step=\"0.05\" style=\"width: 60px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\"><\/div>\n              <div style=\"display: flex; align-items: center; justify-content: space-between;\"><span style=\"color: #94a3b8; font-size: 12px;\">x\u2083:<\/span><input type=\"number\" id=\"rk-i-x3\" value=\"0.4\" step=\"0.05\" style=\"width: 60px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\"><\/div>\n              <div style=\"display: flex; align-items: center; justify-content: space-between;\"><span style=\"color: #94a3b8; font-size: 12px;\">x\u2084:<\/span><input type=\"number\" id=\"rk-i-x4\" value=\"0.5\" step=\"0.05\" style=\"width: 60px; background: #0f172a; border: 1px solid #334155; color: #fff; text-align: right; border-radius: 4px; padding: 2px 4px; font-size: 12px;\"><\/div>\n            <\/div>\n            <button type=\"button\" id=\"rk-btn-reset\" style=\"background: #38bdf8; color: #0b0f19; font-weight: bold; border: none; padding: 8px; border-radius: 6px; cursor: pointer; margin-top: auto; font-size: 12px;\">\u91cd\u7f6e\u76f8\u8f68\u6f14\u5316<\/button>\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n    <div style=\"font-size: 0.85em; text-align: center; color: #94a3b8; margin-top: 8px;\">\u56fe 1: 4\u7ef4 Ricker \u79bb\u6563\u7cfb\u7edf\u7684 3D \u76f8\u7a7a\u95f4\u6295\u5f71\u52a8\u6001\u6620\u5c04\u4e0e\u6df7\u6c8c\u5438\u5f15\u5b50\u6f14\u5316<\/div>\n  <\/div>\n\n  <p class=\"no-indent-p\" style=\"color: #cbd5e1; margin-top: 20px;\">\u901a\u8fc7\u8c03\u8282\u4e0a\u8ff0\u7cfb\u7edf\u7684\u589e\u957f\u7387\u53c2\u6570 $r$\uff0c\u6211\u4eec\u53ef\u4ee5\u6e05\u6670\u5730\u89c2\u5bdf\u5230\u76f8\u8f68\u8ff9\u5728\u56db\u7ef4\u9ad8\u7ef4\u7a7a\u95f4\u4e2d\u7684\u62d3\u6251\u7834\u88c2\u8fc7\u7a0b\u3002\u4e0b\u9762\u5c55\u793a\u4e86\u4e0d\u540c\u53c2\u6570\u5bf9\u5e94\u4e0b\u7684\u6570\u5b57\u6536\u655b\u6b8b\u5dee\u4e0e\u5206\u5c94\u7279\u5f81\u8bf4\u660e\uff1a<\/p>\n\n  <!-- \u4e09\u7ebf\u5b66\u672f\u8868\u683c\uff08\u660e\u4eae\u9ad8\u5bf9\u6bd4\u5ea6\u6587\u5b57\uff09 -->\n  <div class=\"latex-table-container\" style=\"margin-top: 15px;\">\n    <div class=\"table-caption\" style=\"color: #cbd5e1; text-align: center; font-style: italic; margin-bottom: 8px;\">\u8868 1: \u4e0d\u540c\u589e\u957f\u53c2\u6570 $r$ \u4e0b 4D Ricker \u7cfb\u7edf\u7684\u52a8\u529b\u5b66\u72b6\u6001\u5bf9\u6bd4<\/div>\n    <table class=\"latex-table\" style=\"width: 100%; border-collapse: collapse; color: #e2e8f0; border-top: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8;\">\n      <thead>\n        <tr style=\"border-bottom: 1px solid #475569; color: #f8fafc;\">\n          <th style=\"padding: 10px; text-align: center;\">\u9884\u8bbe\u5206\u5c94\u70b9<\/th>\n          <th style=\"padding: 10px; text-align: center;\">\u53c2\u6570 $r$ \u8d4b\u503c<\/th>\n          <th style=\"padding: 10px; text-align: center;\">\u52a8\u529b\u5b66\u62d3\u6251\u7279\u5f81 (Topological Phase)<\/th>\n          <th style=\"padding: 10px; text-align: center;\">Lyapunov \u6307\u6570\u8d8b\u52bf<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr style=\"border-bottom: 1px solid rgba(255,255,255,0.05);\">\n          <td style=\"padding: 8px; text-align: center;\">\u56fe (g)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$0.0462$<\/td>\n          <td style=\"padding: 8px; text-align: center;\">\u4e0d\u900f\u660e\u5c01\u95ed\u4e0d\u53d8\u66f2\u7ebf (Invariant Curve)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$\\lambda_1 = 0$<\/td>\n        <\/tr>\n        <tr style=\"border-bottom: 1px solid rgba(255,255,255,0.05);\">\n          <td style=\"padding: 8px; text-align: center;\">\u56fe (h)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$0.0483$<\/td>\n          <td style=\"padding: 8px; text-align: center;\">\u51c6\u5468\u671f\u500d\u5468\u671f\u5206\u5c94\u66f2\u7ebf (Period-Doubling)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$\\lambda_1 = 0$<\/td>\n        <\/tr>\n        <tr style=\"border-bottom: 1px solid rgba(255,255,255,0.05);\">\n          <td style=\"padding: 8px; text-align: center;\">\u56fe (i)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$0.0498$<\/td>\n          <td style=\"padding: 8px; text-align: center;\">\u5e26\u5b54\u6781\u9ad8\u7684\u5206\u5c94\u6df7\u6c8c\u5438\u5f15\u5b50 (Chaotic)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$\\lambda_1 > 0$<\/td>\n        <\/tr>\n        <tr>\n          <td style=\"padding: 8px; text-align: center;\">\u56fe (j)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$0.0610$<\/td>\n          <td style=\"padding: 8px; text-align: center;\">\u5b8c\u5168\u5c55\u5f00\u7684\u9ad8\u7ef4\u6df1\u5c42\u6df7\u6c8c\u5438\u5f15\u5b50 (Deep Chaos)<\/td>\n          <td style=\"padding: 8px; text-align: center;\">$\\lambda_1 \\gg 0$<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n<script>\n(function initRickerHD() {\n  function run() {\n    var canvas = document.getElementById('rk-native-canvas');\n    var container = document.getElementById('rk-canvas-container');\n    \n    if (!canvas || !container) {\n      setTimeout(run, 100);\n      return;\n    }\n\n    var ctx = canvas.getContext('2d');\n    var MAX_P = 25000;\n    var points = [];\n    var params = { r: 0.0498, speed: 10, zoom: 1.95 };\n    var state = [0.4, 0.3, 0.4, 0.5];\n    var axis = [3, 2, 0];\n    var curr = [0.4, 0.3, 0.4, 0.5];\n\n    var rotX = 0.3, rotY = 0.5;\n    var isDragging = false, lastMouseX = 0, lastMouseY = 0;\n\n    \/\/ \u9f20\u6807\u62d6\u62fd\u65cb\u8f6c\n    container.addEventListener('mousedown', function(e) {\n      isDragging = true;\n      lastMouseX = e.clientX;\n      lastMouseY = e.clientY;\n      container.style.cursor = 'grabbing';\n    });\n    window.addEventListener('mouseup', function() {\n      isDragging = false;\n      container.style.cursor = 'grab';\n    });\n    window.addEventListener('mousemove', function(e) {\n      if (!isDragging) return;\n      var dx = e.clientX - lastMouseX;\n      var dy = e.clientY - lastMouseY;\n      rotY += dx * 0.008;\n      rotX += dy * 0.008;\n      lastMouseX = e.clientX;\n      lastMouseY = e.clientY;\n    });\n\n    \/\/ \u9f20\u6807\u6eda\u8f6e\u7f29\u653e\n    container.addEventListener('wheel', function(e) {\n      e.preventDefault();\n      var delta = e.deltaY > 0 ? -0.1 : 0.1;\n      params.zoom = Math.min(Math.max(params.zoom + delta, 0.5), 5.0);\n      syncZoomUI();\n    }, { passive: false });\n\n    function syncZoomUI() {\n      var sZoom = document.getElementById('rk-s-zoom');\n      var nZoom = document.getElementById('rk-n-zoom');\n      if (sZoom) sZoom.value = params.zoom.toFixed(2);\n      if (nZoom) nZoom.value = params.zoom.toFixed(2);\n    }\n\n    function ricker(s, r) {\n      var x1=s[0], x2=s[1], x3=s[2], x4=s[3];\n      return [\n        x1 * Math.exp(0.178 * (1.0 - 1.821*x1 - 0.898*x2 - 0.774*x3 - 3.542*x4)),\n        x2 * Math.exp(0.222 * (1.0 - 0.912*x1 - 2.289*x2 - 0.0032*x3 - 6.641*x4)),\n        x3 * Math.exp(0.105 * (1.0 - 2.321*x1 - 0.994*x2 - 1.507*x3 - 0.0669*x4)),\n        x4 * Math.exp(r * (1.0 - 0.0425*x1 - 3.541*x2 - 1.691*x3 - 2.342*x4))\n      ];\n    }\n\n    function reset() {\n      var elX1 = document.getElementById('rk-i-x1');\n      var elX2 = document.getElementById('rk-i-x2');\n      var elX3 = document.getElementById('rk-i-x3');\n      var elX4 = document.getElementById('rk-i-x4');\n      if (elX1) state[0] = parseFloat(elX1.value) || 0.4;\n      if (elX2) state[1] = parseFloat(elX2.value) || 0.3;\n      if (elX3) state[2] = parseFloat(elX3.value) || 0.4;\n      if (elX4) state[3] = parseFloat(elX4.value) || 0.5;\n      curr = [state[0], state[1], state[2], state[3]];\n      points = [];\n      for (var i = 0; i < 300; i++) curr = ricker(curr, params.r);\n    }\n\n    function resizeCanvas() {\n      var dpr = window.devicePixelRatio || 1;\n      var w = container.clientWidth;\n      var h = container.clientHeight;\n      if (w > 0 && h > 0) {\n        if (canvas.width !== Math.floor(w * dpr) || canvas.height !== Math.floor(h * dpr)) {\n          canvas.width = Math.floor(w * dpr);\n          canvas.height = Math.floor(h * dpr);\n        }\n      }\n    }\n\n    function render() {\n      resizeCanvas();\n      var dpr = window.devicePixelRatio || 1;\n      var displayW = canvas.width \/ dpr;\n      var displayH = canvas.height \/ dpr;\n\n      if (displayW === 0 || displayH === 0) {\n        requestAnimationFrame(render);\n        return;\n      }\n\n      for (var i = 0; i < params.speed; i++) {\n        curr = ricker(curr, params.r);\n        if (isNaN(curr[0]) || !isFinite(curr[0])) {\n          curr = [0.4, 0.3, 0.4, 0.5];\n          points = [];\n          break;\n        }\n        if (points.length < MAX_P) {\n          points.push({\n            x: curr[axis[0]] - 0.45,\n            y: curr[axis[1]] - 0.45,\n            z: curr[axis[2]] - 0.45,\n            valX: curr[axis[0]],\n            valY: curr[axis[1]],\n            valZ: curr[axis[2]]\n          });\n        }\n      }\n\n      ctx.save();\n      ctx.scale(dpr, dpr);\n\n      \/\/ \u80cc\u666f\u8272\uff08\u7eaf\u51c0\u6df1\u9ed1\u80cc\u666f\uff09\n      ctx.fillStyle = '#05070e';\n      ctx.fillRect(0, 0, displayW, displayH);\n\n      var cosX = Math.cos(rotX), sinX = Math.sin(rotX);\n      var cosY = Math.cos(rotY), sinY = Math.sin(rotY);\n      \n      var baseFov = Math.min(displayW, displayH) * 0.95;\n      var fov = baseFov * params.zoom;\n      var cx = displayW \/ 2, cy = displayH \/ 2;\n\n      \/\/ \u7ed8\u5236\u76f8\u8f68\u8ff9 3D \u7c92\u5b50\uff08\u6e10\u53d8\u8272\u5f69\uff09\n      for (var j = 0; j < points.length; j++) {\n        var p = points[j];\n        var y_rot = p.y * cosX - p.z * sinX;\n        var z_rot = p.y * sinX + p.z * cosX;\n        var x_rot = p.x * cosY + z_rot * sinY;\n        var finalZ = -p.x * sinY + z_rot * cosY + 2.2;\n\n        if (finalZ > 0.1) {\n          var projX = cx + (x_rot \/ finalZ) * fov;\n          var projY = cy + (y_rot \/ finalZ) * fov;\n\n          var colorHue = (170 + p.valX * 220 + p.valY * 80 + (j \/ points.length) * 40) % 360;\n          var lightness = Math.min(85, Math.max(45, 50 + p.valZ * 30));\n          ctx.fillStyle = 'hsla(' + colorHue + ', 95%, ' + lightness + '%, 0.85)';\n\n          ctx.beginPath();\n          ctx.arc(projX, projY, 1.2, 0, Math.PI * 2);\n          ctx.fill();\n        }\n      }\n\n      \/\/ \u7ed8\u5236\u76f8\u8f68\u8ff9\u5f53\u524d\u7126\u70b9\uff08\u4eae\u767d\u5934\u90e8\uff09\n      var hy = (curr[axis[1]] - 0.45) * cosX - (curr[axis[2]] - 0.45) * sinX;\n      var hz = (curr[axis[1]] - 0.45) * sinX + (curr[axis[2]] - 0.45) * cosX;\n      var hx = (curr[axis[0]] - 0.45) * cosY + hz * sinY;\n      var hZ = -(curr[axis[0]] - 0.45) * sinY + hz * cosY + 2.2;\n\n      if (hZ > 0.1) {\n        var hProjX = cx + (hx \/ hZ) * fov;\n        var hProjY = cy + (hy \/ hZ) * fov;\n        ctx.fillStyle = '#ffffff';\n        ctx.shadowColor = '#38bdf8';\n        ctx.shadowBlur = 8;\n        ctx.beginPath();\n        ctx.arc(hProjX, hProjY, 3.5, 0, Math.PI * 2);\n        ctx.fill();\n        ctx.shadowBlur = 0;\n      }\n\n      ctx.restore();\n\n      \/\/ \u72b6\u6001\u680f\n      var st = document.getElementById('rk-txt-status');\n      if (st) st.innerText = 'Iter: ' + points.length + ' | State: (' + curr[0].toFixed(2) + ', ' + curr[1].toFixed(2) + ', ' + curr[2].toFixed(2) + ', ' + curr[3].toFixed(2) + ')';\n\n      requestAnimationFrame(render);\n    }\n\n    \/\/ \u7ed1\u5b9a\u9762\u677f\u8f93\u5165\u63a7\u4ef6\n    var sr = document.getElementById('rk-s-r');\n    var nr = document.getElementById('rk-n-r');\n    var sZoom = document.getElementById('rk-s-zoom');\n    var nZoom = document.getElementById('rk-n-zoom');\n    var sSpd = document.getElementById('rk-s-spd');\n    var nSpd = document.getElementById('rk-n-spd');\n    var sAxis = document.getElementById('rk-s-axis');\n    var btnReset = document.getElementById('rk-btn-reset');\n\n    if (sr && nr) {\n      sr.oninput = function(e){ params.r = parseFloat(e.target.value); nr.value = params.r; reset(); };\n      nr.onchange = function(e){ params.r = parseFloat(e.target.value); sr.value = params.r; reset(); };\n    }\n    if (sZoom && nZoom) {\n      sZoom.oninput = function(e){ params.zoom = parseFloat(e.target.value); nZoom.value = params.zoom; };\n      nZoom.onchange = function(e){ params.zoom = parseFloat(e.target.value); sZoom.value = params.zoom; };\n    }\n    if (sSpd && nSpd) {\n      sSpd.oninput = function(e){ params.speed = parseInt(e.target.value); nSpd.value = params.speed; };\n      nSpd.onchange = function(e){ params.speed = parseInt(e.target.value); sSpd.value = params.speed; };\n    }\n    if (sAxis) {\n      sAxis.onchange = function(e){\n        var m = {'4-3-1':[3,2,0], '4-3-2':[3,2,1], '1-2-3':[0,1,2]};\n        axis = m[e.target.value];\n        reset();\n      };\n    }\n    if (btnReset) btnReset.onclick = reset;\n\n    reset();\n    render();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', run);\n  } else {\n    run();\n  }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Lecture: Global Dynamics of 4D Ricker Maps \u5728\u591a\u7269\u79cd\u7ade\u4e89\u4e0e\u79cd\u7fa4\u751f\u7269\u5b66 &hellip; <a href=\"https:\/\/arkdoc.cc\/index.php\/2026\/09\/28\/592\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\"><\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-592","post","type-post","status-publish","format-standard","hentry","category-chaotic-simulations"],"_links":{"self":[{"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/posts\/592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/comments?post=592"}],"version-history":[{"count":13,"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/posts\/592\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/posts\/592\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/media?parent=592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/categories?post=592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arkdoc.cc\/index.php\/wp-json\/wp\/v2\/tags?post=592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}