Qurak

Normals to contours

ตัวอย่าง 4 ขั้นตอน รันตามลำดับในหนึ่งเซสชัน ทุกขั้นถูกรันกับเอนจินจริง และเอาต์พุตด้านล่างคือสิ่งที่มันให้

ขั้นที่ 1
f[x_, y_] := (x ^ 2/4) - 2x ^ 2 y - 3x y + y ^ 4 / 16

ไม่มีเอาต์พุต - ขั้นนี้ตั้งค่าบางอย่างไว้ให้ขั้นถัดไป

ขั้นที่ 2
grad[x_, y_] = Grad[f[x, y], {x, y}]
เอาต์พุต
{x/2 - 3*y - 4*x*y, -3*x - 2*x^2 + y^3/4}
ขั้นที่ 3
normal[x_, y_] = Simplify[(grad[x, y]/Sqrt[grad[x, y].grad[x, y]])]
เอาต์พุต
{(x - 6*y - 8*x*y)/(2*Sqrt[(37*x^2)/4 + 12*x^3 + 4*x^4 - 3*x*y - 4*x^2*y + 9*y^2 + 24*x*y^2 + 16*x^2*y^2 - (3*x*y^3)/2 - x^2*y^3 + y^6/16]), (-12*x - 8*x^2 + y^3)/(4*Sqrt[(37*x^2)/4 + 12*x^3 + 4*x^4 - 3*x*y - 4*x^2*y + 9*y^2 + 24*x*y^2 + 16*x^2*y^2 - (3*x*y^3)/2 - x^2*y^3 + y^6/16])}
ขั้นที่ 4
Manipulate[ContourPlot[f[x, y], {x, -2, 2}, {y, -2, 2}, Epilog -> Arrow[{pt, pt + normal@@pt}], PerformanceGoal -> "Quality", Contours -> 20, PlotRange -> {{-2, 2}, {-2, 2}, {-30, 30}}], {{pt, {.01, -.1}}, Locator}, FrameLabel -> "Click a point to see its normal", SaveDefinitions -> True]
เอาต์พุต
Manipulate[ContourPlot[f[x, y], {x, -2, 2}, {y, -2, 2}, Epilog -> Arrow[{pt, pt + normal @@ pt}], PerformanceGoal -> Quality, Contours -> 20, PlotRange -> {{-2, 2}, {-2, 2}, {-30, 30}}], {{pt, {0.01, -0.1}}, Locator}, FrameLabel -> Click a point to see its normal, SaveDefinitions -> True]

ฟังก์ชันที่ใช้

สูตรงานที่เกี่ยวข้อง

สูตรงานทั้งหมด · เอกสารอ้างอิงฟังก์ชัน · ใช้สิ่งนี้จากไคลเอนต์ MCP