Claude3.7就是写代码的神!200美元的Max套餐国内直接使用!
Claude3.7就是写代码的神!200美元的Max套餐国内直接使用!(文末附0成本体验方法)
Claude 3.7 Sonnet以其强大的性能和卓越的表现震撼登场。Anthropic自豪地宣布,这是其迄今为止"最智能"的模型,在数学、编程、推理等多个领域表现出色。
许多人对Claude 3.7 Sonnet的评价都聚焦在其"强大的推理能力"和"卓越的创意表达"上。该模型原生支持文本和图像的处理,不仅能够生成长篇文字或一次性完成复杂代码,还能够"理解"图像内容并进行深入分析。而其强大的上下文处理能力,使得它能够轻松处理复杂的指令和长文档。
MaynorAI系统已经集成了200美元的Max套餐的Claude 3.7 Sonnet ,
相对于普通的Pro套餐,Max套餐支持20倍的token值,不需要再担心次数不足。
新增Research,更适合学术研究。
下面来综合测试一下Claude3.7的能力:
二、小球弹跳
提示词:
使用 p5.js(无需 HTML)创建 10 个彩色球在旋转六边形内弹跳的效果,考虑重力,弹性,摩擦和碰撞。
Claude3.7 表现出色,一次就成功完成——色彩鲜艳、碰撞精准、摩擦顺畅,完美满足各种需求。自带artifact,前端效果直接就能看到。
完整代码:
const BouncingBallsInHexagon = () => {
const canvasRef = React.useRef(null);
const [scriptLoaded, setScriptLoaded] = React.useState(false);
// 首先加载p5.js
React.useEffect(() => {
const script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js';
script.async = true;
script.onload = () => setScriptLoaded(true);
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, []);
React.useEffect(() => {
if (!scriptLoaded || !canvasRef.current) return;
let sketch = (p) => {
let balls = [];
let hexagon = {};
let hexRotation = 0;
const numBalls = 10;
p.setup = () => {
p.createCanvas(500, 500);
// 创建六边形
hexagon = {
radius: 180,
rotation: 0,
rotationSpeed: 0.005,
vertices: []
};
// 更新六边形顶点
updateHexagonVertices();
// 创建随机颜色的小球
for (let i = 0; i < numBalls; i++) {
balls.push({
x: p.random(100, 400),
y: p.random(100, 400),
vx: p.random(-2, 2),
vy: p.random(-2, 2),
radius: p.random(10, 25),
mass: p.random(1, 3),
elasticity: p.random(0.7, 0.9),
friction: 0.98,
color: {
r: p.random(100, 255),
g: p.random(100, 255),
b: p.random(100, 255)
}
});
}
};
function updateHexagonVertices() {
hexagon.vertices = [];
for (let i = 0; i < 6; i++) {
let angle = hexagon.rotation + i * (Math.PI / 3);
let x = p.width / 2 + hexagon.radius * Math.cos(angle);
let y = p.height / 2 + hexagon.radius * Math.sin(angle);
hexagon.vertices.push({ x, y });
}
}
function drawHexagon() {
p.push();
p.stroke(50);
p.strokeWeight(2);
p.noFill();
p.beginShape();
for (let v of hexagon.vertices) {
p.vertex(v.x, v.y);
}
p.endShape(p.CLOSE);
p.pop();
}
function drawBalls() {
for (let ball of balls) {
p.fill(ball.color.r, ball.color.g, ball.color.b, 220);
p.noStroke();
p.circle(ball.x, ball.y, ball.radius * 2);
}
}
function updateBalls() {
for (let ball of balls) {
// 应用重力
ball.vy += 0.2;
// 更新位置
ball.x += ball.vx;
ball.y += ball.vy;
// 应用摩擦力
ball.vx *= ball.friction;
ball.vy *= ball.friction;
// 检测六边形碰撞
checkHexagonCollision(ball);
// 检测球与球的碰撞
checkBallCollisions(ball);
}
}
function checkHexagonCollision(ball) {
// 对六边形的每条边进行碰撞检测
for (let i = 0; i < 6; i++) {
let start = hexagon.vertices[i];
let end = hexagon.vertices[(i + 1) % 6];
// 计算线段与球体的最短距离
let edgeVector = { x: end.x - start.x, y: end.y - start.y };
let ballToStart = { x: ball.x - start.x, y: ball.y - start.y };
// 计算投影长度比例
let dotProduct = ballToStart.x * edgeVector.x + ballToStart.y * edgeVector.y;
let edgeLengthSquared = edgeVector.x * edgeVector.x + edgeVector.y * edgeVector.y;
let t = Math.max(0, Math.min(1, dotProduct / edgeLengthSquared));
// 计算最近点
let nearestX = start.x + t * edgeVector.x;
let nearestY = start.y + t * edgeVector.y;
// 计算距离
let dx = ball.x - nearestX;
let dy = ball.y - nearestY;
let distance = Math.sqrt(dx * dx + dy * dy);
// 如果距离小于球的半径,则发生碰撞
if (distance < ball.radius) {
// 计算单位法向量
let nx = dx / distance;
let ny = dy / distance;
// 计算速度在法向量上的投影
let vn = ball.vx * nx + ball.vy * ny;
// 如果球正在向边靠近
if (vn < 0) {
// 计算反弹速度
let dvx = -vn * nx * (1 + ball.elasticity);
let dvy = -vn * ny * (1 + ball.elasticity);
ball.vx += dvx;
ball.vy += dvy;
// 移动球体避免卡在边上
let correction = ball.radius - distance;
ball.x += nx * correction;
ball.y += ny * correction;
}
}
}
}
function checkBallCollisions(currentBall) {
for (let otherBall of balls) {
if (currentBall === otherBall) continue;
// 计算距离
let dx = otherBall.x - currentBall.x;
let dy = otherBall.y - currentBall.y;
let distance = Math.sqrt(dx * dx + dy * dy);
let minDistance = currentBall.radius + otherBall.radius;
// 检测碰撞
if (distance < minDistance) {
// 碰撞响应
let angle = Math.atan2(dy, dx);
let sin = Math.sin(angle);
let cos = Math.cos(angle);
// 旋转坐标系统
let vx1 = currentBall.vx * cos + currentBall.vy * sin;
let vy1 = currentBall.vy * cos - currentBall.vx * sin;
let vx2 = otherBall.vx * cos + otherBall.vy * sin;
let vy2 = otherBall.vy * cos - otherBall.vx * sin;
// 质量
let m1 = currentBall.mass;
let m2 = otherBall.mass;
// 计算一维碰撞
let finalVx1 = ((m1 - m2) * vx1 + 2 * m2 * vx2) / (m1 + m2);
let finalVx2 = ((m2 - m1) * vx2 + 2 * m1 * vx1) / (m1 + m2);
// 应用弹性
finalVx1 *= currentBall.elasticity;
finalVx2 *= otherBall.elasticity;
// 旋转回原坐标系统
currentBall.vx = finalVx1 * cos - vy1 * sin;
currentBall.vy = vy1 * cos + finalVx1 * sin;
otherBall.vx = finalVx2 * cos - vy2 * sin;
otherBall.vy = vy2 * cos + finalVx2 * sin;
// 防止球体重叠
let overlap = minDistance - distance;
let displacementX = overlap * (currentBall.x - otherBall.x) / distance;
let displacementY = overlap * (currentBall.y - otherBall.y) / distance;
currentBall.x += displacementX * 0.5;
currentBall.y += displacementY * 0.5;
otherBall.x -= displacementX * 0.5;
otherBall.y -= displacementY * 0.5;
}
}
}
p.draw = () => {
p.background(25);
// 旋转六边形
hexagon.rotation += hexagon.rotationSpeed;
updateHexagonVertices();
// 更新和绘制
updateBalls();
drawHexagon();
drawBalls();
};
};
// 创建p5实例
const p5Instance = new p5(sketch, canvasRef.current);
return () => {
p5Instance.remove();
};
}, [scriptLoaded]);
return (
<div className="flex flex-col items-center justify-center w-full h-full bg-gray-900 p-4">
<h2 className="text-xl font-bold mb-4 text-white">彩色球在旋转六边形中弹跳</h2>
<div ref={canvasRef} className="border border-gray-700 rounded-lg overflow-hidden shadow-lg"></div>
</div>
);
};
export default BouncingBallsInHexagon;
三、生成 Mandelbrot set 集
提示词:
用 p5js 生成 Mandelbrot set.
Claude 生成很轻松,一次提示直接命中,干净利落搞定,毫不拖泥带水,还贴心的增加了交互式控制按钮。
四、文本总结能力
提示词:
分析这份文档,有什么用处,有什么特色和优点
这里和文档内容一致,完美总结~
五、智力推理题
提示词:
一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石。问怎么才能拿到最大的一颗?
经过15s长思考后,Claude给出了正确答案,即采用这种策略,能够使我们获得最大钻石的概率最大,约为 37%。
总结
Claude 3.7 Sonnet(2025年2月发布)具有以下突出优势:
核心能力
强大的推理能力:配备专门的推理模式,能在回答复杂问题前进行更深入思考 卓越的代码生成:能一次性生成完整、复杂且可直接运行的代码 多模态处理:原生支持文本和图像处理,能理解图像内容并进行深入分析
技术优势
大规模上下文处理:能轻松处理复杂指令和长文档 Artifact功能:自带前端效果展示,如文档中提到"自带artifact,前端效果直接就能看到" 精确的数学处理:能处理复杂的数学模型和可视化(如曼德布洛特集的生成)
实用特性
文本总结能力:能准确提取和总结文档内容 智能交互设计:能自主添加交互控制元素,如为数学可视化添加控制按钮 多领域专业性:在数学、编程、推理等多个领域表现出色
如何0成本开始使用Claude?
在公众号后台回复:授权码,即可0成本开始使用Claude。
没有评论:
发表评论