คำถามติดแท็ก noise

1
เสียงต้นฉบับของ Perlin มีความได้เปรียบมากกว่าเสียงของ Simplex หรือไม่
เสียงเพอร์ลินเป็นหนึ่งในฟังก์ชั่นเสียงรบกวนขั้นตอนที่ได้รับความนิยมมากที่สุด Perlin พัฒนาต่อมาเสียง Simplexซึ่งปรับปรุงจากข้อบกพร่องบางประการของเสียง Perlin โดยเฉพาะอย่างยิ่งความไร้ประสิทธิภาพในมิติที่สูงขึ้นและสิ่งประดิษฐ์ทิศทาง (Wikipedia แสดงข้อดีห้าประการของเสียง Simplex) ถึงกระนั้นเสียงของ Perlin ก็ถูกนำมาใช้อย่างกว้างขวาง ฉันสามารถจินตนาการได้ว่าเหตุผลหลักคือเสียง Simplex นั้นยากต่อการเข้าใจมากขึ้น แต่ตอนนี้ควรมีการใช้งานที่เพียงพอเพื่อให้คุณไม่ต้องนำมาใช้ใหม่ด้วยตนเอง เสียงของ Perlin มีข้อดีมากกว่าเสียงของ Simplex หรือไม่? เมื่อเลือกฟังก์ชั่นจุดรบกวนฉันจะเลือก Perlin แทน Simplex ได้หรือไม่

1
ทำไมเสียงเพอร์ลินของฉันจึงดู“ บล็อก”?
ฉันพยายามใช้ Perlin Noise ด้วยตัวเองโดยใช้เพียงทฤษฎี (ติดตาม flafla2.github.io/2014/08/09/perlinnoise.html) น่าเสียดายที่ฉันไม่สามารถมองหาเสียงเพอร์ลิน "ดั้งเดิม" ได้ อะไรคือสาเหตุที่รหัสด้านล่างแสดงผล Perlin Noise รุ่นที่บล็อก ฉันควรปรับปรุง / เปลี่ยนแปลงรหัสเพื่อให้แสดงผล Perlin Noise โดยไม่มีสิ่งประดิษฐ์หรือไม่ ฉันสงสัยว่าอาจมีปัญหาไม่ว่าจะเป็นวิธีการสอดแทรกหรือในgradsเวกเตอร์ gradsเวกเตอร์มีผลคูณจุดของ (เวกเตอร์สุ่มสำหรับจุดตาข่าย) และ (เวกเตอร์ขนาด) - ทั้ง 4 จุดขัดแตะอยู่บริเวณใกล้เคียง (เวกเตอร์สุ่มและขนาดอธิบายไว้ในลิงค์แรก) GLSL Sandbox: http://glslsandbox.com/e#32663.0 float fade(float t) { return t * t * t * (t * (t * 6. - 15.) …
21 glsl  noise  artifacts 

1
ฉันจะสร้างเสียงรบกวนขั้นตอนบนทรงกลมได้อย่างไร
ฉันต้องการที่จะสร้างสัญญาณรบกวนขั้นตอนบนพื้นผิวของทรงกลม (เช่นการสร้างดาวเคราะห์หรือลูกบอลที่มีพื้นผิวหินอ่อนแบบขั้นตอน) แน่นอนว่าฉันสามารถใช้อัลกอริธึมสัญญาณรบกวนมาตรฐานและแมปลงบนทรงกลมได้ แต่สิ่งนี้มีปัญหาทั้งหมดเกี่ยวกับการฉายเครื่องบินลงบนทรงกลมเช่นการบิดเบี้ยวบนเสาหรือที่อื่น ๆ ฉันคิดว่าฉันสามารถสร้างเสียงระดับเสียงและ "ตัดออก" ทรงกลม แต่ดูเหมือนว่าจะไม่มีประสิทธิภาพโดยไม่จำเป็น - และถ้าเสียงมีบางสิ่งประดิษฐ์ตามกริดตารางเหล่านี้จะยังไม่ปรากฏขึ้นบนทรงกลมอย่างสม่ำเสมอ นอกจากนี้อย่างน้อยในกรณีของเสียง Simplex การตัดส่วนที่เป็นเสียง 2 มิติโดยทั่วไปจะมีลักษณะที่แตกต่างจากการสร้างเสียงแบบสองมิติทันที มีวิธีใดบ้างที่จะหลีกเลี่ยงปัญหาเหล่านี้เช่นโดยการสร้างเสียงรบกวนบนทรงกลมได้หรือไม่? เสียงควรมีอย่างน้อยคุณภาพของเสียง Perlinนึกคิดของเสียง Simplex

1
ประโยชน์ของเสียง perlin มากกว่าเสียงค่า
ในขณะที่ตรวจสอบการทำงานภายในของเสียงเพอร์ลินฉันสงสัยว่าทำไมเราจะใช้เสียงเพอร์ลินแทนที่จะเป็นเสียงตามค่าธรรมดา เท่าที่ฉันเข้าใจถูกต้อง เสียงเพอร์ลินเป็นฟังก์ชั่นเสียงรบกวนแบบขัดแตะซึ่งกำหนดการไล่ระดับสีแบบ n-มิติ (สุ่มสำหรับการนำไปใช้งานดั้งเดิมแก้ไขเพื่อปรับปรุงให้ดีขึ้น) สำหรับทุกจุดในพื้นที่เสียงรบกวน ตอนนี้คุณสามารถค้นหาค่าสำหรับทุกจุดในอวกาศได้โดยการคำนวณผลคูณของจุดระหว่างเวกเตอร์ระยะทางกับเวกเตอร์ไล่ระดับสี หลังจากนั้นคุณเฉลี่ยค่าทั้งหมดที่คำนวณและรับค่าการสอบถาม แต่เสียงรบกวนค่าไม่เหมือนกันหากไม่ใช้เวกเตอร์ไล่ระดับสี แต่เป็นค่าสุ่ม เนื่องจากฉันยังสอดแทรกระหว่างค่าในสัญญาณรบกวนค่าฉันไม่เห็นประโยชน์ใด ๆ โดยใช้ขั้นตอนการคำนวณเพิ่มเติม (ผลิตภัณฑ์จุด) ในเสียง perlin แล้วทำไมฉันถึงต้องใช้เสียงเพอร์ลินแทนที่จะเป็นเสียงรบกวน ทำไมเสียงเพอร์ลินจึงได้รับความนิยม?
14 noise 

1
เสียงรบกวนจากกริดเป็นเรื่องที่หลีกเลี่ยงไม่ได้ไหม?
ฉันสนใจที่จะใช้สิ่งนี้กับมิติที่สูงขึ้นเช่นกัน แต่สำหรับคำถามนี้ฉันจะเน้นเฉพาะที่กริด 2D เท่านั้น ฉันรู้ว่าเสียงเพอร์ลินไม่ได้เป็นแบบ isotropic (ทิศทางไม่แปรเปลี่ยน) และตารางกริดพื้นฐานแสดงขึ้นมามากพอที่จะระบุทิศทางได้ เสียงรบกวนจากซิมเพลคือการปรับปรุงในเรื่องนี้ แต่ตารางสามเหลี่ยมด้านเท่ากันของมันยังไม่ถูกบดบังอย่างสมบูรณ์ สัญชาตญาณของฉันคือความพยายามใด ๆ ที่ส่งเสียงของความถี่เฉพาะบนกริดจะส่งผลให้ความถี่ต่ำลงในทิศทางที่ไม่จัดแนวกับกริด ดังนั้นในขณะที่ความพยายามสามารถปลอมตัวได้เสียงดังกล่าวไม่สามารถที่จะเป็น isotropic ได้เว้นแต่ว่ามันจะถูกสร้างขึ้นโดยไม่มีการอ้างอิงกับกริดทำให้ความถี่เฉลี่ยนั้นเหมือนกันในทุกทิศทาง ยกตัวอย่างเช่นกับตารางสี่เหลี่ยมโดยไม่มีเสียงรบกวนด้วยความยาวด้านสี่เหลี่ยมความถี่ของจุดยอดแนวนอนหรือแนวตั้งคือในขณะที่ความถี่ของจุดยอดที่ 45 องศา (ผ่านมุมตรงข้ามของสี่เหลี่ยม) คือn}nnn1n1n\frac1n12√n12n\frac1{\sqrt{2}n} มีการกระจายแบบสุ่มที่สามารถนำมาใช้เพื่อชดเชยตำแหน่งจุดสุดยอดที่จะทำให้ความถี่กลายเป็นเหมือนกันในทุกทิศทางหรือไม่? ความสงสัยของฉันคือว่าไม่มีการแจกจ่ายดังกล่าว แต่ฉันไม่มีวิธีพิสูจน์ด้วยวิธีใดวิธีหนึ่ง ในระยะสั้นมีวิธีการทำเสียงกริดที่สมบูรณ์แบบของความถี่ที่กำหนดหรือฉันควรจะมุ่งเน้นไปที่วิธีการอื่น ๆ (เสียงที่ไม่ใช่กริดตามหรือวิธีการปลอมตัวสิ่งประดิษฐ์)?
14 noise  grid 

1
ทำไมมันแพงเป็นสองเท่าในการสร้างฟังก์ชั่นเสียงรบกวนที่สามารถปูกระเบื้องได้?
ฉันเคยเห็นในหลาย ๆ ที่ที่ทำเสียงรบกวน Perlin ต่อเนื่องต้องใช้การคำนวณสองครั้งในวิธีที่แตกต่างกันเล็กน้อยและรวมผลลัพธ์ทั้งสอง คำถามที่พบบ่อยเกี่ยวกับคณิตศาสตร์เรื่องเสียงรบกวน Perlin นี้มีสูตร: Floop(x,y,z)=(t−z)⋅F(x,y,z)+z⋅F(x,y,z−t)tFloop(x,y,z)=(t−z)⋅F(x,y,z)+z⋅F(x,y,z−t)tF_{loop}(x, y, z) = \frac{ (t - z) \cdot F(x, y, z) + z \cdot F(x, y, z - t) }{ t} เพื่อทำให้ฟังก์ชั่นสัญญาณรบกวนวนซ้ำในทิศทางนอกจากนี้ยังกล่าวถึงการขยายสิ่งนี้การวนซ้ำใน 2 มิติจะใช้การประเมิน 4 ครั้งและการวนซ้ำใน 3 มิติจะใช้การประเมิน 8 ครั้งFFFzzzFFFFFF ฉันเข้าใจว่าสิ่งนี้ให้การเชื่อมต่อที่ราบรื่นระหว่างกระเบื้องที่ไม่เพียง แต่ต่อเนื่อง แต่สามารถสร้างความแตกต่างได้อย่างต่อเนื่อง แต่ฉันคาดหวังอย่างสังหรณ์ใจว่าจะเป็นเช่นไรหากฟังก์ชั่นเสียงรบกวนถูกประเมินเพียงครั้งเดียว หากฟังก์ชั่นเสียงรบกวนนั้นขึ้นอยู่กับจุดกริดที่อยู่รอบ ๆ เท่านั้น (4 สำหรับเสียง 2 มิติ, …
13 algorithm  noise 

1
การแปลงฟูริเยร์ 2D ของรูปภาพทำงานอย่างไร
ฉันเข้าใจว่าการแปลงฟูริเยร์ 1D แยกสัญญาณเป็นความถี่ขององค์ประกอบ แต่ฉันมีปัญหาในการเข้าใจว่าการแปลงฟูริเยร์ 2D ส่งผลต่อภาพ 2D อย่างไร จากคำถามอื่น , จอห์น Calsbeekเชื่อมโยงกับกระดาษที่น่าสนใจเกี่ยวกับการวัดคุณภาพของฟังก์ชั่นเสียง สิ่งนี้แสดงให้เห็นถึงฟังก์ชั่นเสียงรบกวนที่หลากหลายและการแปลงฟูริเยร์ของแต่ละคน นี่เป็นการแปลงข้อมูลพิกเซลแบบไม่ต่อเนื่องหรือการแปลงอย่างต่อเนื่องของฟังก์ชั่นการแก้ไขอย่างต่อเนื่องซึ่งใช้ในการสร้างเสียงรบกวนที่จุดใด ๆ หรือไม่? รูปร่างวงแหวนเป็นรูปวงแหวนที่มีขนาด 1D Fourier แปลงเส้นผ่านศูนย์กลางของภาพในทุกมุมที่เป็นไปได้หรือไม่? หรือการแปลงสำหรับแต่ละมุมที่เป็นไปได้นั้นวัดทั่วพื้นที่ 2D ทั้งหมดแทนที่จะเป็นไปตามเส้นตรงผ่านจุดศูนย์กลาง ฉันพยายามที่จะเข้าใจอย่างถ่องแท้ว่าการเปลี่ยนแปลงใดในภาพอินพุทนั้นสอดคล้องกับการเปลี่ยนแปลงของการแปลงฟูริเยร์

3
เป็นวิธีที่เหมาะสมในการหนีบเสียงรบกวน dither คืออะไร?
เมื่อลดความลึกของสีและ dithering ด้วยเสียง 2 บิต (โดยมี n =] 0.5,1.5 [และเอาท์พุท = พื้น (อินพุต * (2 ^ บิต -1) + n)) จุดสิ้นสุดของช่วงค่า (อินพุต 0.0 และ 1.0 ) มีเสียงดัง มันจะเป็นที่พึงปรารถนาที่จะให้พวกเขาเป็นสีทึบ ตัวอย่าง: https://www.shadertoy.com/view/llsfz4 (ด้านบนเป็นสกรีนช็อตของ shadertoy ซึ่งเป็นภาพการไล่ระดับสีและปลายทั้งสองซึ่งควรเป็นสีขาวและดำตามลำดับ แต่มีเสียงดังแทน) แน่นอนว่าปัญหาสามารถแก้ไขได้โดยเพียงแค่บีบอัดช่วงของค่าเพื่อให้จุดสิ้นสุดได้รับการปัดเศษเป็นค่าเดียวเสมอ แม้ว่าจะรู้สึกแฮ็คเล็กน้อยและฉันสงสัยว่าจะมีวิธีการใช้ "ถูกต้อง" นี้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.