Jak sprawdzić czy punkt leży na krzywej ?

0

Mam dane 4 punkty opisujące krzywą (taka fala). Jak sprawdzić czy punk x,y leży na tej krzywej? W google jest pokazane jak to zrobić dla prostej i jest to stosunkowo proste , ale dla krzywej ani słowa. Ja sam na matematyce nie znam się w ogóle więc do tego nie dojdę. Jak by ktoś potrafił to wytłumaczyć było by super.
Do tego było by super jeśli można było by ustalić dla danej szerokości krzywej (ale nie jest to tak bardzo konieczne).

0
  1. W jaki sposób punkty określają krzywą? Jak je łączysz?
  2. Jak krzywa będzie mieć szerokość to to już chyba nie będzie krzywa tylko jakiś wielokąt :)
0

Ja używam funkcji g.DrawCurve(pen, listaPunktow.ToArray(), 3f); Aczkolwiek nie muszę jej używać, jest mi to absolutnie obojętne jakiej funkcji użyję do wykreowania krzywej. Właściwie to w moim programie w ogóle nie muszę krzywej rysować , więc można sobie wyobrazić dowolny algorytm rysowania krzywej. Bo to i tak mają to być losowe krzywe. Chodzi mi wyłącznie o wyznaczenie czy punkty x,y leży na takiej krzywej. Ponadto samo wyznaczenie czy punkty X,Y leży na krzywej będzie jednocześnie rysowaniem tej krzywej , ponieważ będzie to funkcja wywoływana dla każdego pixela.

1

Opisz krzywą za pomocą funkcji y = f(x), podstaw x, sprawdź czy y się zgadza

0
Kowalski napisał(a):

Ja używam funkcji g.DrawCurve(pen, listaPunktow.ToArray(), 3f);

Konkretnie co to za funkcja? Czym jest g pewnie jakiś drawing context lub coś w tym stylu.

.Net to nie moja działka, wiec powiem ci na razie tylko: zacznij od przeszukania dokumentacji. Prawie na pewno gdzieś w czeluściach API będzie sposób na wykonanie "hit test". To jest tak standardowy problem, że musi być na to sposób.

Wyggoglałem coś takiego: https://msdn.microsoft.com/en-us/library/ms969920.aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1