โค้งพีชคณิตเป็นบางอย่าง "1D เซต" ของ "2D เครื่องบิน" ที่สามารถอธิบายเป็นชุดของศูนย์ของพหุนาม{(x,y) in R^2 : f(x,y)=0 }
f
ที่นี่เราพิจารณาระนาบ 2 มิติเป็นระนาบจริงR^2
ซึ่งเราสามารถจินตนาการได้อย่างง่ายดายว่าเส้นโค้งดังกล่าวจะมีลักษณะอย่างไรโดยทั่วไปสิ่งที่คุณสามารถวาดด้วยดินสอ
ตัวอย่าง:
0 = x^2 + y^2 -1
วงกลมรัศมี 10 = x^2 + 2y^2 -1
วงรี0 = xy
ข้ามรูปร่างพื้นสหภาพของแกน x และแกน y0 = y^2 - x
พาราโบลา0 = y^2 - (x^3 - x + 1)
ไข่โค้ง0 = x^3 + y^3 - 3xy
the folium of Descartes0 = x^4 - (x^2 - y^2)
lemniscate0 = (x^2 + y^2)^2 - (x^3 - 3xy^2)
trifolium0 = (x^2 + y^2 - 1)^3 + 27x^2y^2
แอสโตรอย
งาน
กำหนดพหุนามf
(ตามที่กำหนดไว้ด้านล่าง) และช่วง x / y ให้ส่งภาพขาวดำอย่างน้อย 100x100 พิกเซลที่แสดงเส้นโค้งเป็นเส้นสีดำบนพื้นหลังสีขาว
รายละเอียด
สี : คุณสามารถใช้สองสีที่คุณเลือกได้มันควรจะบอกได้ง่าย
เรื่องย่อ: แทนที่จะเป็นภาพพิกเซลคุณยังสามารถส่งออกภาพนี้เป็น ascii-art โดยที่พื้นหลัง "พิกเซล" ควรเว้นวรรค / ขีดเส้นใต้หรือตัวละครอื่น ๆ ที่ "ดูว่างเปล่า" และบรรทัดสามารถสร้างตัวละครที่มีลักษณะ " เต็ม" เหมือนM
หรือหรือX
#
คุณไม่ต้องกังวลกับนามแฝง
คุณจะต้องพล็อตบรรทัดที่สัญญาณของการเปลี่ยนแปลงพหุนามจากด้านหนึ่งของบรรทัดไปที่อื่น (นั่นหมายความว่าคุณสามารถใช้อัลกอริธึมยกกำลังสอง) คุณไม่จำเป็นต้องพล็อต "กรณีพยาธิวิทยาเหมือน0 = x^2
ที่สัญญาณทำไม่ได้เปลี่ยนไปจากเมื่อด้านหนึ่งของสายไปที่อื่น ๆ . f(x,y)
แต่สายที่ควรจะเป็นอย่างต่อเนื่องและการแยกภูมิภาคของสัญญาณที่แตกต่างกันของ
พหุนาม : พหุนามได้รับเป็น(m+1) x (n+1)
เมทริกซ์ / รายการของค่าสัมประสิทธิ์ (จริง) ในตัวอย่างด้านล่างเงื่อนไขของสัมประสิทธิ์จะได้รับในตำแหน่งของพวกเขา:
[ 1 * 1, 1 * x, 1 * x^2, 1 * x^3, ... , 1 * x^n ]
[ y * 1, y * x, y * x^2, y * x^4, ... , y * x^n ]
[ ... , ... , ... , ... , ... , ... ]
[ y^m * 1, y^m * x, y^m * x^2, y^m * x^3 , ..., y^m * x^n]
หากคุณต้องการคุณสามารถสมมติว่าเมทริกซ์เป็นสี่เหลี่ยมจัตุรัส (ซึ่งสามารถทำได้ด้วยการเติมศูนย์ที่จำเป็นเสมอ) และหากคุณต้องการคุณสามารถสันนิษฐานได้ว่าขนาดของเมทริกซ์นั้นเป็นอินพุตแบบ aditional
ในตัวอย่างต่อไปนี้ตัวอย่างจากด้านบนแสดงเป็นเมทริกซ์ที่นิยามดังนี้:
Circle: Ellipse: Parabola: Cross: Elliptic Curve: e.t.c
[-1, 0, 1] [-1, 0, 1] [ 0,-1] [ 0, 0] [-1, 1, 0,-1]
[ 0, 0, 0] [ 0, 0, 0] [ 0, 0] [ 0, 1] [ 0, 0, 0, 0]
[ 1, 0, 0] [ 2, 0, 0] [ 1, 0] [ 1, 0, 0, 0]
กรณีทดสอบที่มีช่วง x / ช่วง y:
(ในรูปแบบที่ไม่สามารถอ่านได้ แต่ดีกว่าคัดลอกวางได้ที่นี่ใน pastebin )
Circle:
[-1, 0, 1] [-2,2] [-2,2]
[ 0, 0, 0]
[ 1, 0, 0]
Ellipse:
[-1, 0, 1] [-2,2] [-1,1]
[ 0, 0, 0]
[ 2, 0, 0]
Cross:
[ 0, 0] [-1,2] [-2,1]
[ 0, 1]
Parabola:
[ 0,-1] [-1,3] [-2,2]
[ 0, 0]
[ 1, 0]
Elliptic Curve:
[-1, 1, 0,-1] [-2,2] [-3,3]
[ 0, 0, 0, 0]
[ 1, 0, 0, 0]
Folium of Descartes:
[ 0, 0, 0, 1] [-3,3] [-3,3]
[ 0, -3, 0, 0]
[ 0, 0, 0, 0]
[ 1, 0, 0, 0]
Lemniscate:
[ 0, 0, -1, 0, 1] [-2,2] [-1,1]
[ 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0]
Trifolium:
[ 0, 0, 0,-1, 1] [-1,1] [-1,1]
[ 0, 0, 0, 0, 0]
[ 0, 3, 2, 0, 0]
[ 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0]
Astroid:
[ -1, 0, 3, 0, -3, 0, 1] [-1,1] [-1,1]
[ 0, 0, 0, 0, 0, 0, 0]
[ 3, 0, 21, 0, 3, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0]
[ -3, 0, 3, 0, 0, 0, 0]
[ 0, 0, 0, 0, 0, 0, 0]
[ 1, 0, 0, 0, 0, 0, 0]
ฉันได้รับแรงบันดาลใจจากเส้นโค้งบางส่วนจากไฟล์ PDF นี้
m
x n
แต่x(m+1)
(n+1)
เราทำอะไรใช้เป็น input: m, n
หรือm+1,n+1
? หรือเราจะเลือก?