Vinnaren i pepparkakshustävlingen!
2017-04-29, 20:22
  #1
Medlem
Autismpowers avatar
Går det modifiera denna algoritm på ett enkelt sätt för att kurvan ska gå genom kontrollpunkter istället för utanför? Isåfall hur?
__________________
Senast redigerad av Autismpower 2017-04-29 kl. 20:49.
Citera
2017-05-01, 13:00
  #2
Medlem
lasternassummas avatar
Citat:
Ursprungligen postat av Autismpower
Går det modifiera denna algoritm på ett enkelt sätt för att kurvan ska gå genom kontrollpunkter istället för utanför? Isåfall hur?

Jag kanske missförstår frågan, men...

En bezierkurva (ett segment) definieras av ändpunkter och kontrollpunkter. Om kurvan inte är sammansatt och ändpunkterna på segmentet är ändpunkter på kurvan så blir det enkelt.
Om kontrollpunkterna ligger på den räta linjen mellan ändpunkterna så får du en rät linje. Om du flyttar kontrollpunkterna från linjen så får du andra kurvor, men då ligger inte kontrollpunkterna längre på kurvan. Om du har en sammansatt kurva blir det lite mer komplicerat.

Med bezierkurvor kan du skapa nästan vilka former som helst. Det är själva finessen med bezierkurvor. Om du lägger på restriktionen att kontrollpunkterna ska ligga på kurvan, så kan du inte göra roliga former längre.

Om jag inte har förstått frågan fel, så vill du inte begränsa kontrollpunkternas placering på det sättet.

Kanske kan du förklara vad du vill åstadkomma?
Vad har du för verktyg?

Här är ett litet "bezier-program" i HTML5:
http://blogs.sitepointstatic.com/exa...ier-curve.html

Kanske är den här lite roligare?
http://www.victoriakirst.com/beziertool/

__________________
Senast redigerad av lasternassumma 2017-05-01 kl. 13:02.
Citera
2017-05-02, 03:41
  #3
Medlem
lasternassummas avatar
Jag läste igenom din fråga och mitt svar en gång till och jag tror att jag förstår nu vad du vill.
Rätta mig om jag har fel!

Du har jobbat med kurvkonstruktioner med hjälp av Bezierfunktioner och tycker att kontrollpunktens position i förhållande till kurvan är sådan att det inte är så lätt att förstå var man ska placera kontrollpunkten för att få den kurva man vill ha.

Du undrar om man kan konstruera en alternativ algoritm som fungerar ungefär som Bezier, men där ankarpunkten alltid ligger på kurvan, så att när man tar i och drar så är det kurvan man drar i. Kanske kan det intuitivt verka enklare vid första anblicken.

Jag tror ändå inte att det är en bra idé. Beziermatematiken är IMO ganska bra.
Jag vet ju inte hur mycket du jobbat med bezierfunktioner och på vilket sätt.
Jag har jobbat en del med dom och skulle beskriva kontrollpunkterna så här.

Kontrollpunktens läge anger kurvans riktning ut från motsvarande kurvpunkt. Avståndet mellan kurvpunkten och kontrollpunkten anger hur långt från kurvpunkten kurvan ska sträva i kontrollpunktens riktning.

När man har lärt sig att hantera Bezierfunktioner så är dom ett ett bra verktyg till det dom är avsedda för. Dom är bra för att skapa former med och dom är bra att rendera från.

Kanske går det att skapa ett UI till ett program där man drar i kurvan i stället för att dra i kontrollpunkterna. Är det kanske vad du vill ha?

Citera
2017-05-21, 01:21
  #4
Medlem
Jopsiks avatar
Det går att göra,
Vill du läsa på om bezier kurvor är det här en bra utgånspunkt https://pomax.github.io/bezierinfo/.
__________________
Senast redigerad av Jopsik 2017-05-21 kl. 01:27.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback